if (isset($_POST['country'])) { $country = $_POST['country'];$result = mysql_query ("SELECT login FROM users WHERE country='$country' ",$db); if ($country == '') { unset($country);} }
if (isset($_POST['city'])) { $city = $_POST['city'];$result_2 = mysql_query ("SELECT login FROM `users` WHERE city='$city' ",$db); if ($city == '') { unset($city);} }
if (isset($_POST['product'])) { $product = $_POST['product']; $result_3 = mysql_query ("SELECT login FROM `users` WHERE product='$product' ",$db);
if ($product == '') { unset($product);} }
while($to = mysql_fetch_array($result))
{
echo "$to['login']";//line 10
}
выводит вот такую ошибку
syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING on line 10
Спустя 22 минуты, 17 секунд (25.01.2011 - 11:40) sergeiss написал(а):
ОК, код не Попова, согласен 
Но вопрос тебе: а сам-то ты хоть немного подумал, где ошибка? Какой из твоих запросов был запущен? А может быть, вообще никакой? И где у тебя проверка того, что хотя бы один запрос отработал корректно (перед тем, как данные читать)?
Плюс к этому, не помешает код в тэги оформлять (кнопки справа-сверху надо полем ввода), да в нужном разделе размещать вопрос. Последнее я исправлю (т.е. перенесу тему в раздел для начинающих), а над остальным сам думай для начала.

Но вопрос тебе: а сам-то ты хоть немного подумал, где ошибка? Какой из твоих запросов был запущен? А может быть, вообще никакой? И где у тебя проверка того, что хотя бы один запрос отработал корректно (перед тем, как данные читать)?
Плюс к этому, не помешает код в тэги оформлять (кнопки справа-сверху надо полем ввода), да в нужном разделе размещать вопрос. Последнее я исправлю (т.е. перенесу тему в раздел для начинающих), а над остальным сам думай для начала.
Спустя 4 минуты, 54 секунды (25.01.2011 - 11:45) Andruha написал(а):
я думал проверял,не получается
Спустя 2 минуты, 13 секунд (25.01.2011 - 11:47) sergeiss написал(а):
А ты подумай еще раз
Подсказываю: в каком случае (единственном!) у тебя будет в переменной $result что-то полезное? И в каких случаях она вообще не будет определена? (и когда там будет ошибка)
Плюс к этому, при выводе, как у тебя, не надо двойные кавычки писать. Хотя это и не единственная ошибка вывода.

Подсказываю: в каком случае (единственном!) у тебя будет в переменной $result что-то полезное? И в каких случаях она вообще не будет определена? (и когда там будет ошибка)
Плюс к этому, при выводе, как у тебя, не надо двойные кавычки писать. Хотя это и не единственная ошибка вывода.
Спустя 1 минута, 50 секунд (25.01.2011 - 11:49) Andruha написал(а):
блин точно,завтыкал с кавычками
Спустя 3 минуты, 9 секунд (25.01.2011 - 11:52) Andruha написал(а):
Подсказываю: в каком случае (единственном!) у тебя будет в переменной $result что-то полезное? И в каких случаях она вообще не будет определена? (и когда там будет ошибка)
Честно не понял можно ещё подсказку
Честно не понял можно ещё подсказку
Спустя 1 минута, 39 секунд (25.01.2011 - 11:54) Andruha написал(а):
а у меня тут ещё ошибка,если выбираешь другой город то все равно выводит пользователей,которым подходит страна
Спустя 42 секунды (25.01.2011 - 11:54) Andruha написал(а):
по ходу где то надо сделать INNER JOIN
Спустя 1 минута, 53 секунды (25.01.2011 - 11:56) Andruha написал(а):
хотя нет я сделал просто так while( ($to = mysql_fetch_array($result)) and ($to = mysql_fetch_array($result_2)) )
Спустя 17 секунд (25.01.2011 - 11:56) sergeiss написал(а):
Цитата (Andruha @ 25.01.2011 - 12:52) |
Честно не понял можно ещё подсказку |
ОК... Читаем твой скрипт:
Если (то-то и то-то), тогда $result=....
Если (что-то другое), тогда $result_2=...
И потом без проверок (!!!)
while($to = mysql_fetch_array($result)) .....
Вопрос: а если первое условие не будет выполнено, то чему будет равна переменная $result и что получим в цикле???
Цитата (Andruha @ 25.01.2011 - 12:56) |
while( ($to = mysql_fetch_array($result)) and ($to = mysql_fetch_array($result_2)) ) |
А это вообще не верно!!!
Короче говоря... Логику всю надо менять в скрипте.
Спустя 59 секунд (25.01.2011 - 11:57) Andruha написал(а):
Но в этом случае у меня,если просто искать по стране,то вывод ток тех кто без города
Спустя 50 секунд (25.01.2011 - 11:58) Andruha написал(а):
да реально потом без проверок
Спустя 23 секунды (25.01.2011 - 11:59) sergeiss написал(а):
Andruha - ты не ответил на вопрос
Цитата (sergeiss @ 25.01.2011 - 12:56) |
а если первое условие не будет выполнено, то чему будет равна переменная $result и что получим в цикле??? |
Спустя 48 секунд (25.01.2011 - 11:59) Andruha написал(а):
а можно на словах логику хотя бы(не прошу писать мне код),просто на русском приблизительно??
Спустя 57 секунд (25.01.2011 - 12:00) linker написал(а):
Код может и не Попова, но не лучше. Ниже не ответ на твой вопрос, я лишь провел нормализацию, чтобы ты смог понять то, что сам написал
if (isset($_POST['country']))
{
$country = $_POST['country'];
$result = mysql_query("SELECT login FROM users WHERE country='$country' ", $db);
if ($country == '')
unset($country);
}
if (isset($_POST['city']))
{
$city = $_POST['city'];
$result_2 = mysql_query("SELECT login FROM `users` WHERE city='$city' ", $db);
if ($city == '')
unset($city);
}
if (isset($_POST['product']))
{
$product = $_POST['product'];
$result_3 = mysql_query("SELECT login FROM `users` WHERE product='$product' ", $db);
if ($product == '')
unset($product);
}
while($to = mysql_fetch_array($result))
{
echo $to['login'];
}
Спустя 1 минута, 30 секунд (25.01.2011 - 12:02) Andruha написал(а):
переменная $result будет уничтожена unset же у меня есть,то есть её не будет,то есть не будет условия для цикла
Спустя 1 минута, 33 секунды (25.01.2011 - 12:03) sergeiss написал(а):
Цитата (Andruha @ 25.01.2011 - 12:59) |
просто на русском приблизительно?? |
Ищи описание по словам "связанные списки". Это как раз то, что ты хочешь реализовать, как я понял.
Цитата (Andruha) |
то есть не будет условия для цикла |
нет, будет ошибка в цикле.
Спустя 11 минут, 11 секунд (25.01.2011 - 12:15) Andruha написал(а):
находит немного другое
Спустя 12 минут, 3 секунды (25.01.2011 - 12:27) Andruha написал(а):
там есть ток если загружать в select html из БД,ну там в зависимости от выбранного первого загружается во второй.А мне всего то нужно что бы если выбрана просто страна значит выдавало всех из этой страны,а если с городом,то выдавало только тех кто соответствует городу.Я уже и так и так пробывал.Люди добрые помогите!!
Спустя 2 минуты, 1 секунда (25.01.2011 - 12:29) Andruha написал(а):
может стоит попробывать через UNION
Спустя 8 минут, 20 секунд (25.01.2011 - 12:37) linker написал(а):
Если не выполняется это условие if (isset($_POST['country'])) то в while($to = mysql_fetch_array($result)) будет ошибка.