mysql_query("OPTIMIZE TABLE `".prefix."url`"); |
mysql_query("OPTIMIZE TABLE `".prefix."users`"); |
$result1=mysql_query("SELECT * FROM `".prefix."users` WHERE `cfrom`<=`cto`"); |
if ($result1>0) |
{ |
while ($field=mysql_fetch_assoc($result1)) |
{ |
mysql_query("update `".prefix."url` set `activ`='1' where `activ` = '0' && `moder` = '0' and `id_user` = '".$field['id']."';"); |
} |
} |
$res=mysql_query("SELECT * FROM `".prefix."users` WHERE `cfrom`>`cto`"); |
if ($res>0) |
{ |
while ($field=mysql_fetch_assoc($res)) |
{ |
mysql_query("update `".prefix."url` set `activ`='0' where `activ` = '1' && `moder` = '0' and `id_user` = '".$field['id']."';"); |
} |
} |
$l = mysql_result(mysql_query('SELECT COUNT(`id`) FROM `'.prefix.'url` WHERE `id_user`<>"'.$_USER['id'].'" AND `activ`=0 AND `moder`=0 '),0); |
$r = mysql_result(mysql_query('SELECT COUNT(`who`) FROM `'.prefix.'clicks` WHERE `who`="'.$_USER['login'].'"'),0); |
$pll = $l-$r; |
$pll++; |
echo 'Показано: <strong>'.$_USER['numlink'].'</strong> ссылок из <strong>'.$pll.'</strong> доступных | <a href="/?mode=go&'.rand(0,9999).'">Обновить</a><div class="lines"></div>'; |
$col = mysql_result(mysql_query('SELECT COUNT(`id`) FROM `'.prefix.'url` WHERE `id_user`="'.$_USER['id'].'"'),0); |
if($col == 0) |
{ |
echo 'Для того чтобы переходить по ссылкам, Вам нужно создать хоть одну плошадку!'; |
break; |
} |
$re=mysql_query("SELECT u.login, l.id, l.nazv FROM `".prefix."users` as `u`, `".prefix."url` as `l` WHERE u.cfrom > u.cto and l.id_user = u.id and l.activ = 0 and l.moder = 0 and l.id_user <> '".$_USER['id']."' and l.id not in (SELECT `to` FROM `".prefix."clicks` WHERE `who`='".$_USER['login']."' ) ORDER by rand() LIMIT 1,".$_USER['numlink'].";"); |
while($ress=mysql_fetch_array($re)) |
{ |
echo '<div class="url"> |
» <a href="/?mode=gook&to='.$ress['login'].'&id='.$ress['id'].'">'.$ress['nazv'].'</a> |
</div>'; |
} |
if ($pll==0) { echo 'Нет доступных ссылок! Зайдите позже...'; } |
span style="color: #0000BB"><?php// сделать поля activ и moder типом ENUM// ну и нужно расставить индексы,// на основе этого кода можно сказать только что нужен однозначно индекс не поле who таблицы clicks// Это тут ни к чему, сбрасывает кэши// mysql_query('OPTIMIZE TABLE `' . prefix . 'url`');// mysql_query('OPTIMIZE TABLE `' . prefix . 'users`');mysql_query('UPDATE `' . prefix . 'url`SET `activ`="1"WHERE `activ` = "0"AND `moder` = "0"AND `id_user` IN (SELECT `id` FROM `' . prefix . 'users` WHERE `cfrom` <= `cto`)');mysql_query('UPDATE `' . prefix . 'url`SET `activ` = "0"WHERE `activ` = "1"AND `moder` = "0"AND `id_user` IN (SELECT `id` FROM `' . prefix . 'users` WHERE `cfrom` > `cto`)');$l = mysql_result(mysql_query('SELECT COUNT(1)FROM `' . prefix . 'url`WHERE `id_user` <> ' . intval($_USER['id']) . 'AND `activ` = "0"AND `moder` = "0"'), 0);// на поле who поставить индекс, если не стоит$r = mysql_result(mysql_query('SELECT COUNT(1)FROM `' . prefix . 'clicks`WHERE `who` = "' . mysql_real_escape_string($_USER['login']) . '"'), 0);$pll = $l - $r;$pll++;echo 'Показано: <strong>' . $_USER['numlink'] . '</strong> ссылок из <strong>' . $pll . '</strong> доступных | <a href="/?mode=go&' . mt_rand(0,9999) . '">Обновить</a><div class="lines"></div>';$col = mysql_result(mysql_query('SELECT COUNT(1)FROM `' . prefix . 'url`WHERE `id_user` = ' . intval($_USER['id'])), 0);if (!$col) { echo 'Для того чтобы переходить по ссылкам, Вам нужно создать хоть одну плошадку!'; break;}// в этом запросе может быть огромная проблема при большом кол-ве записей// ORDER BY RAND() - это крамольный пездец$re = mysql_query('SELECT u.login, l.id, l.nazvFROM `' . prefix . 'users` as `u`,`' . prefix . 'url` as `l`WHERE u.cfrom > u.ctoAND l.id_user = u.idAND l.activ = "0"AND l.moder = "0"AND l.id_user <> ' . intval($_USER['id']) . 'AND l.id NOT IN (SELECT `to` FROM `' . prefix . 'clicks` WHERE `who` = "' . $_USER['login'] . '")ORDER BY RAND() LIMIT 1, ' . intval($_USER['numlink']));while ($ress = mysql_fetch_array($re)) { echo '<div class="url">» <a href="/?mode=gook&to=' . htmlspecialchars($ress['login']) . '&id=' . $ress['id'] . '">' . htmlspecialchars($ress['nazv'], ENT_NOQUOTES) . '</a></div>';}if (!$pll) { echo 'Нет доступных ссылок! Зайдите позже...';} |
$sql = mysql_query("SELECT `id`,`login` FROM `ma_anket` order by `id` desc;"); |
while ($r = mysql_fetch_array($sql)) |
{ |
$res = mysql_num_rows(mysql_query("SELECT `login` FROM `ma_anket` WHERE `pa`='".$r['id']."' AND `pa`<>'1'")); |
if ($res>0) |
$arr[$r['login']] = $res; |
} |
arsort($arr); |
$i=1; |
foreach($arr as $key=>$value) |
{ |
echo $i.') '.$key.' ['.$value.' чел.] <br/>'; |
$i++; |
} |
$sql = mysql_query(' |
SELECT t2.`login`, (SELECT COUNT(1) FROM `ma_anket` AS t1 WHERE t1.`pa` = t2.id AND t1.`pa` <> 1) AS `cnt` |
FROM `ma_anket` AS t2 |
GROUP BY t2.login |
HAVING `cnt` > 0 |
ORDER BY t2.`id` DESC |
'); |
$i = 1; |
while ($r = mysql_fetch_assoc($sql)) { |
echo $i++ . ') ' . $r['login'] . '[' . $r['cnt'] . ']<br/>'; |
} |