Например хочу исключить столбец 5 и 6:
$id = mysql_fetch_assoc(mysql_query(\"select * from `strana` where `id` != \'5\' and `id` != \'6\' order by rand() LIMIT 1\");
Делаю вот так, все правильно.
Вот у меня массив из базы $row[\'nomer\']. Этот массив содержит в себе 2 цифры 5 и 6.
$id = mysql_fetch_assoc(mysql_query(\"select * from `strana` where `id` != \'$row[nomer]\' order by rand() LIMIT 1\");
А вот оно не работает, почему?
$id = mysql_fetch_assoc(mysql_query(\"select * from `strana` where `id` NOT IN($row[nomer]) order by rand() LIMIT 1\"
Автор, твое написание неправильное какое-то, дкмсовское..
$id = mysql_fetch_assoc(mysql_query(\"select * from `strana` where `id` != \'\".$row[\'nomer\'].\"\' order by rand() LIMIT 1\"
Кстати, переменная $row[\'nomer\'] не пустая?
У него переменная не число, а массив. По-крайней мере он так написал)
Оно вообще теперь не работает. Теперь $id всегда равно 0
~AL~, упс.. про массив протупил, если честно, не заметил.
<?php
// Проверяю есть ли активное задание у пользователя
$add = mysql_num_rows(mysql_query(\"select * from `my_strana` where `id_user` = \'$user[id]\' and `otvet` = \'0\'\");
// Создаю массив из пройденных пользователем заданий, чтобы они больше не попадались
$moi = mysql_query(\"select * from `my_strana` where `id_user` = \'$user[id]\' and `otvet` = \'1\' \"
while ($moi2 = mysql_fetch_array($moi)) {
// Рандомно выбираю задание исключив уже пройденные `id` != \'$moi2[id_strana]
$id = mysql_fetch_assoc(mysql_query(\"select * from `strana` where `id` != \'$moi2[id_strana]\' order by rand() LIMIT 1\");
}
// Добавляю задание для пользователя если ее нет
if($add == 0){
mysql_query(\"insert into `my_strana` set
`id_user` = \'$user[id]\',
`otvet` = \'0\',
`id_strana` = \'$id[id]\'
\"
}
?>
1. До своего запроса пишешь echo $row[\'nomer\']; и говоришь, что вывелось.
2. Если в переменной то, что тебе нужно, то пишешь echo mysql_fetch_assoc(mysql_query(\"select * from `strana` where `id` != \'\".$row[\'nomer\'].\"\' order by rand() LIMIT 1\" чтобы увидеть полноценный текст запроса, который передается в базу.
3. Выполняешь запрос в phpmyadmin, раздел SQL и смотришь, что вывелось или какую выдало ошибку.
4. Если ошибок нет и выводится нужная информация, делаешь print_r($id);
Это называется отладкой. А пока вангование.
~AL~, echo $row[\'nomer\']; Выводит 56. Все правильно, это числа 5 и 6.
echo mysql_fetch_assoc(mysql_query(\"select * from `strana` where `id` != \'\".$row[\'nomer\'].\"\' order by rand() LIMIT 1\"
Во это выдает Array