В общем смотрим как улучшить производительность при большом количестве запросов
к примеру нам надо удалить десять выбранных пользователей из таблицы, мы конечно закидываем всё в цикл и лупим их, предлогаю альтернативу
$sql = '`id`= 0';
$query = mysql_guery("SELECT id FROM `user` ORDER by `id` DESC LIMIT 10"); //нужные ид к примеру последний десяток
while($row = mysql_fetch_assoc($query))
{
$sql .= 'and `id`='.$row['id']
/собираем в переменную :)
}
mysql_guery("DELETE FROM `user` WHERE $sql ")
/удаляем выбраное
конечно вульгарно, но есть кадры, которые в цикле насилуют бд, так же это чисто для мускул, скажем на том же мускулИ или пдо кеш запроса, там таким страдать не нужно
так же за ошибки прошу прощения, с телефона
вывод случайной рекламы
<?php
$c = 2; // кол-во выводимой рекламы
$urls = array(
'1' => 'http://owap.su/87.go?rekl',
'2' => 'http://blackwap.su/in.php?id=24',
'3' => 'http://rosban.su/5025.go?rekl',
'4' => 'http://mbn.su/252.go?rekl',
);
$names = array(
'1' => 'Лучшая игра 2010 года!!',
'2' => 'Бесплатно:ХХХ+предпросмотр!',
'3' => 'Бесплатные Java-игры для всех мобил',
'4' => 'ПоРнУхА БеСпЛаТнО(998699)',
'5' => 'Жесткое Порево Целочек(8.млн)'
);
$color = array(
'1' => 'red',
'2' => 'green',
'3' => 'blue'
);
for($i = 0; $i < $c; $i++)
{
$url = array_rand($urls);
$name = array_rand($names);
echo '- <a href="'.$urls[$url].'">'.$names[$name].'</a><br/>';
}
?>
// переводчик, работает через translate.google.ru
<?php
function translate($text, $from, $to){
$ch = curl_init('http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q='.urlencode($text).'&langpair='.$from.'|'.$to);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_REFERER, 'http://'.$_SERVER['SERVER_NAME']);
$result = json_decode(curl_exec($ch), TRUE);
curl_close($ch);
return $result['responseStatus'] == 200 ? $result['responseData']['translatedText'] : FALSE;
}
echo translate('Я люблю тебя, форум =)!', 'ru', 'en');
?>
31. Или так
<?php
$data = array()
$query = mysql_guery("SELECT id FROM `user` ORDER by `id` DESC LIMIT 10");
while($row = mysql_fetch_row($query)) {
$data[]= $row[0];
} mysql_guery("DELETE FROM `user` WHERE `id` IN('.implode(',', $data).')');
Подключение к базе данных, выборка данных из базы, с помощью класса
<?php
defined("SERVER") ? null : define("SERVER","localhost");
defined("USERS") ? null : define("USERS","photo");
defined("NAME") ? null : define("NAME","photo");
defined("PASSWORD") ? null : define("PASSWORD","12345");
class Database{
private $connection;
public $last_query;
public function __construct()
{
$this->open_connection();
}
public function open_connection()
{
$this->connection = mysql_connect(SERVER,USERS,PASSWORD);
if(!$this->connection)
{
exit("Нет соединения с базой!!!");
}else{
$db_select = mysql_select_db(NAME, $this->connection);
if($this->db_select)
{
exit("Нет соединения с базой !!!");
}
}
mysql_query("SET CHARSET utf8");
}
public function close_connection()
{
if(isset($this->connection))
{
mysql_close($this->connection);
unset($this->connection);
}
}
public function query($sql)
{
$this->last_query = $sql;
$result = mysql_query($sql,$this->connection);
return $result;
}
public function fetch_array($result)
{
return mysql_fetch_array($result);
{
return mysql_fetch_array($result);
}
}
}
$database = new Database();
?>
Серёга, сама организация твоего класса ни есть гуд. Юзай PDO или MySQLi.
//Случайная реклама из 32 поста может повторятся. Вот мой вариант.
<?php
$data = array(array('http://url1', array('name1', 'name2'), array('color1', 'color2')), array('http://url2', array('name1', 'name2'), array('color1', 'color2')), array('http://url3', array('name1', 'name2'), array('color1', 'color2')));
shuffle($data);
foreach($data as $val) {
echo'<a href="'.$val[0].'" style="color: '.$val[2][array_rand($val[2])].'">'.$val[1][array_rand($val[1])].'</a><br/>';
}
вот функция для для поиска одной строчки и замены на другую в данном случае ищит данные такого вида
2131|32423|324|
31231|23432|2343|
и ищет по первому
выражению то есть из 2131 и 31231 думаю понятно вот сама функция
function x($ui,$us){
$fr=file("date.txt");
$fc=fopen("c.txt","w");
$is=0;
for($is=0;$is<count($fr);$is++){
$fw=explode("|",$fr[$is]);
if($fw[0]==$ui){
$is++;
fwrite($fc,$is);
fclose($fc);
}
$cp=file("c.txt");
$line=$cp[0];
$replace=''.$us.'|'.$fw[1].'|'.$fw[2].'|'.$fw[3].'|'.$fw[4].'';
$file=file("date.txt");
$open=fopen("date.txt","w");
for($i=0;$i<count($file);$i++)
{
$d=explode("|",$file[$i]);
if(($i+1)!=$line){fwrite($open,$file[$i]);}
else{fwrite($open,$replace);}
}
fclose($open);
}
return;
}
смена дизайна в зависимости от времени суток (старый код)
By Morgan
$hour = date('G');
if($hour > 23 || $hour < 6)//ночной стиль
elseif($hour < 12)//утренний стиль
elseif($hour < 18)//дневной стиль
else //вечерний
Функция "календаря" (как в mag.free-one.ru)
function sys_time()
{
$month = date('m');
$month = str_replace('01','Января',$month);
$month = str_replace('02','Февраля',$month);
$month = str_replace('03','Марта',$month);
$month = str_replace('04','Апреля',$month);
$month = str_replace('05','Мая',$month);
$month = str_replace('06','Июня',$month);
$month = str_replace('07','Июля',$month);
$month = str_replace('08','Августа',$month);
$month = str_replace('09','Сентября',$month);
$month = str_replace('10','Октября',$month);
$month = str_replace('11','Ноября',$month);
$month = str_replace('12','Декабря',$month);
echo '<font color="red">[</font>Календарь<font color="red">]</font>: Сегодня '.date('d').' <b>'.$month.'</b> '.date('Y').' года<Br/>';
echo '<font color="red">[</font>Время<font color="red">]</font>: <b>'.date('H:i').'</b><Br/>';
}
Special to reuse code in different folders
Code function:
PHP Code:
function inc ($inc) {
$result = count(explode ("/",$_SERVER['PHP_SELF']))-2;
switch($result){
case '0':$inc='';break;
case '1':$inc='../';break;
case '2':$inc='../../';break;
case '3':$inc='../../../';break;
case '4':$inc='../../../../';break;
case '5':$inc='../../../../../';break;
}
return "$inc";
}
Example:
PHP Code:
$inc = inc(inc);
include_once($inc."/config.php");
^_^ няшная функция мне понравилась