Форум -> Обо всём... -> ПОмогите составить маасив для вывода из базы |
ПОмогите составить маасив для вывода из базы |
---|
rocksmart | Дата: 17.09.2009, в 14:29 | Сообщение №1 |
СтарожилПользователь №: 261 Сообщений: 330
| НЕ могу сообразить как сделать
Код | 1
| $site=$GET[id];
$obhov = "config/time.txt";
$dolg = "config/sites.txt";
$obhov_t = (file_exists($obhov) && filesize($obhov) != 0) ? file_get_contents($obhov) : 0;
$past = time() - intval($confsites['time']);
if ($obhov_t < $past) {
$result2 = $db->sql_query("SELECT id,hits,outs FROM ".$prefix."_sites where added <= now() order by added ASC ");
while (list($id,$hits,$outs) = $db->sql_fetchrow($result2)) {
list($sid) = $db->sql_fetchrow($db->sql_query("SELECT id_sites FROM ".$prefix."_stories WHERE id_sites='$id'"));
$ctr = $hits/$outs;
$ctr= round($ctr, 2);
if($hits != '0'){
if( $hits>=$outs && $ctr >= '0.6' && $sid != '0' or $hits>=$outs && $outs =='0' && $sid != '0' ){$opene .= " id_sites='$id' or";} }}
if($opene != ''){$zapis = " and ".substr($opene, 0, -2)."";} else{$zapis = ""; }
@unlink($dolg);
$fpr = @fopen($dolg, "wb");
fwrite($fpr,"$zapis");
fclose($fpr);
@unlink($obhov);
$fp = @fopen($obhov, "wb");
fwrite($fp, time());
fclose($fp);
}
$otdacha = file_get_contents($dolg); |
в итоге из этого получаеться $otdacha= and id_site="3" or id_site="4" or id_site="5" все это вставляеться в следующий запрос
Код | 1
| SELECT sid,catid,id_sites,title,time,img FROM ".$prefix."_stories WHERE img !='' $otdacha |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Отредактированно rocksmart 17.09.2009 г. в 14:30:02 |
|
|
rocksmart | Дата: 17.09.2009, в 14:33 | Сообщение №2 |
СтарожилПользователь №: 261 Сообщений: 330
| НЕ могу сообразить как сделать чтобы если $site=4 то id_site="4" вырезалась |
|
|
Serg_pnz | Дата: 17.09.2009, в 14:36 | Сообщение №3 |
АдминистраторПользователь №: 1 Сообщений: 2243
| Регулярками и вырезай из строки слово. | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот |
|
|
rocksmart | Дата: 17.09.2009, в 14:54 | Сообщение №4 |
СтарожилПользователь №: 261 Сообщений: 330
| ага вырезай а если в конце нужно вырезать или в начале->
and id_site="3" or id_site="4" or id_site="5"
например я вырежу id_site="4" останеться and id_site="3" or or id_site="5"
Если в конце надо вырезать id_site="5" and id_site="3" or id_site="4" or id_site="5" то вырезание and id_site="3" or id_site="4" or
Получится косяк
Код | 1
| $otdacha = str_replace("id_site="$site""," ",$otdacha ); |
Можно записывать просто числа а потом их в массиве раскидывать
НАПример вот так
Код | 1
| $otdacha= 3;4;5;6
$uid=explode(";",$otdacha);
$site=4;
foreach($uid as $val){
if($site== $val){unset ( $val);}
$sql .="id_sites='$val' or";
}
$zapis = " and ".substr($sql, 0, -2);
echo$zapis;
НО при таком варианте вырезаеться только значение а индекс остаеться
выходит id_site="3" or id_site="пусто" or id_site="5" id_site="6" |
|
|
|
Serg_pnz | Дата: 17.09.2009, в 15:00 | Сообщение №5 |
АдминистраторПользователь №: 1 Сообщений: 2243
| unset'ить надо не val, а $uid для чего
Код | 1
| foreach($uid as $val){ |
переписываем как
Код | 1
| foreach($uid as $key => $val){ |
и будет
(как-то так, если я всё правильно понял) | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот |
|
|
|
Вы не можете ответить в тему анонимно, пожалуйста, войдите или зарегистрируйтесь!
|