помогите с выпадающим меню ( select ) HTML: <SELECT onChange="location.href=this.value" onkeyup="location.href=this.value"> <option value='#' selected>Value 1 <option value='#' >Value 2 </select> вот такое делаю запрос в базу где значение city = 1 потом проверяю mysql_num_rows() != если = 0 то ничего не выводит если есть записи то делаю вывод <option value=' ' >Value 1 на данный момент у меня 10 запросов в mysql где city = 1 , city = 2 итд.0 как можно упростить ? такую проверку ?
Frozen таким образом я сделаю 10+ запросов в базу а я думаю каким то образом можно это решить один или двумя запросами
TheShock а вывод делать через while ? или каким образом ? $res[city1] = ? $res[city2] $res[city3] $res[city4]
Вам Frozen всё правильно сказал. Код (Text): "select * ... where city!=0" Дальше читаете по строчкам mysql_fetch_assoc() и смотрите какой номер содержится в массиве.
PHP: $result_city1 = mysql_query("SELECT * FROM t_city WHERE city='1' ORDER BY time ASC"); if(mysql_num_rows($result_city1) <> "0") { $city1 = "1";} $result_city2 = mysql_query("SELECT * FROM t_city WHERE city='2' ORDER BY time ASC"); if(mysql_num_rows($result_city2) <> "0") { $city2 = "1";} $result_city3 = mysql_query("SELECT * FROM t_city WHERE city='3' ORDER BY time ASC"); if(mysql_num_rows($result_city3) <> "0") { $city3 = "1";} Noobie каким образом ? если у меня отличаются WHERE в каждом запросе ?
zionko хз, тут проще наверно на php посчитать всё, чем 10 запросов в базу делать если правильно понял вопрос, то я бы сделал что-то типа: Код (Text): $result_cities = mysql_query("SELECT * FROM t_city WHERE city != 0 ORDER BY city"); $last = 0; while($Row = mysqli_fetch_assoc($result_cities)) { if($last != $Row['city']) $last = $Row['city']; ${'city'.$last} = 1; } или даже (если никакие данные потом не нужны) Код (Text): $result_cities = mysql_query("SELECT DISTINCT city FROM t_city WHERE city != 0"); while($Row = mysqli_fetch_assoc($result_cities)) ${'city'.$Row['city'} = 1; можно ещё наделать 10 джойнов и получить 10 значений из базы - но это имхо извращение
Frozen HTML: <SELECT onChange="location.href=this.value" onkeyup="location.href=this.value"> </select> делаю вот такое меню PHP: $result_city1 = mysql_query("SELECT * FROM t_city WHERE city='1' ORDER BY time ASC"); if(mysql_num_rows($result_city1) <> "0") { $city1 = "1";} $result_city2 = mysql_query("SELECT * FROM t_city WHERE city='2' ORDER BY time ASC"); if(mysql_num_rows($result_city2) <> "0") { $city2 = "1";} $result_city3 = mysql_query("SELECT * FROM t_city WHERE city='3' ORDER BY time ASC"); if(mysql_num_rows($result_city3) <> "0") { $city3 = "1";} потом делаю вывод PHP: if ( $city1 == "1" ) { $m1 = "<option value='#' >city 1"; } if ( $city1 == "2" ) { $m2 = "<option value='#' >city 2"; } if ( $city1 == "3" ) { $m3 = "<option value='#' >city 3"; } HTML: <SELECT onChange="location.href=this.value" onkeyup="location.href=this.value"> <?php echo $m1; echo $m2; echo $m3; ?> </select> то-есть есть есть хоть какие записи в базе то он будет показывать в меню строку
Зачем делать 10 запросов и городить каждый option отдельной строкой? Заберите все данные одним запросом и циклом проверяйте.