Делаю Фильтр поиска.
Хочу, чтобы после выбора оставался выбранным выбранный вариант (прошу прощения за тавтологию)
Не остается.
Проблема вот здесь:
if(in_array($conditions. $row['city'])){
echo"<option value=\"".$row['city']."\" selected=\"selected\"> ".$row['city']."</option>";
} else {
echo"<option value=\"".$row['city']."\"> ".$row['city']."</option>";
}
Пишет массив пустой
Warning: Wrong parameter count for in_array()
Весь код
$conditions = array();
echo"<form method=\"POST\">";
$city = isset($_POST["citying"]) ? $_POST["citying"] : '';
if($city != ''){ $conditions[] = "`city` = '".addslashes($city)."'"; }
echo"город <select name=\"citying\" onchange=\"this.form.submit();\"> ";
$query = "select id, city from tb_forum GROUP BY `city`";
$sql = mysql_query($query) or die(mysql_error());
while ($row=mysql_fetch_array($sql))
{
if(in_array($conditions. $row['city'])){
echo"<option value=\"".$row['city']."\" selected=\"selected\"> ".$row['city']."</option>";
} else {
echo"<option value=\"".$row['city']."\"> ".$row['city']."</option>";
}
}
echo"</select><br>";
Спустя 12 минут, 15 секунд (21.02.2012 - 18:21) walerus написал(а):
in_array($conditions, $row['city'])
Запятая там должна быть, а не точка.
Спустя 29 минут, 53 секунды (21.02.2012 - 18:51) DarkGuy написал(а):
Цитата (walerus @ 21.02.2012 - 15:21) |
in_array($conditions, $row['city']) Запятая там должна быть, а не точка. |
поменял, выводит
Warning: in_array() [function.in-array]: Wrong datatype for second argument in
Спустя 4 часа, 38 минут, 45 секунд (21.02.2012 - 23:30) DarkGuy написал(а):
Совершенно не понимаю почему
Спустя 4 минуты, 45 секунд (21.02.2012 - 23:35) Winston написал(а):
Скорее всего ты перепутал порядок переданных аргументов в in_array, почитай порядок http://ua2.php.net:8888/manual/ru/function.in-array.php
Спустя 15 минут, 46 секунд (21.02.2012 - 23:51) walerus написал(а):
Winston прав, я чет сразу не заметил
in_array( 'что ищем', 'где ищем' );
in_array( 'что ищем', 'где ищем' );
Спустя 9 минут, 26 секунд (22.02.2012 - 00:00) Winston написал(а):
Цитата (walerus @ 21.02.2012 - 22:51) |
in_array( 'что ищем', 'где ищем' ); |
Правильно перевести
in_array( 'Иглу', 'В стоге сена' );
:D
Спустя 12 минут, 56 секунд (22.02.2012 - 00:13) walerus написал(а):
Winston
Спустя 13 часов, 32 минуты, 47 секунд (22.02.2012 - 13:46) DarkGuy написал(а):
Цитата (Winston @ 21.02.2012 - 20:35) |
Скорее всего ты перепутал порядок переданных аргументов в in_array, почитай порядок http://ua2.php.net:8888/manual/ru/function.in-array.php |
Изменил
if(in_array($row['city'], $conditions)){
echo"<option value=\"".$row['city']."\" selected=\"selected\"> ".$row['city']."</option>";
} else {
echo"<option value=\"".$row['city']."\"> ".$row['city']."</option>";
}
Не помогло.
Ошибки теперь не выдает..
Выбрал город, через print вывел $conditions
Array ( [0] => `city` = 'Санкт-Петербург' )
---
in_array( 'Иглу', 'В стоге сена' );
Спустя 1 час, 23 минуты, 9 секунд (22.02.2012 - 15:09) DarkGuy написал(а):
Может можно это делать другим путем?
побывал
Не получилось, каждый элемент selected=\"selected\"
побывал
if(in_array($_POST["citying"] = $row['city'])
Не получилось, каждый элемент selected=\"selected\"
Спустя 2 часа, 37 минут, 49 секунд (22.02.2012 - 17:47) inpost написал(а):
А что это за странная запись у тебя?
`city` = 'Санкт-Петербург' ???
Обычно содержится просто "Санкт-Петербург", а не синтаксис выборки из БД.
`city` = 'Санкт-Петербург' ???
Обычно содержится просто "Санкт-Петербург", а не синтаксис выборки из БД.
Спустя 1 час, 16 минут, 59 секунд (22.02.2012 - 19:04) DarkGuy написал(а):
Это если делать так
то выводит
Array ( [0] => `city` = 'Санкт-Петербург' )
Если так
то
WHERE `city` = 'Санкт-Петербург'
print_r ( $conditions);
$conditions = count($conditions) > 0 ? ' WHERE '.implode(' AND ', $conditions) : '';
print_r ( $conditions);
то выводит
Array ( [0] => `city` = 'Санкт-Петербург' )
Если так
$conditions = count($conditions) > 0 ? ' WHERE '.implode(' AND ', $conditions) : '';
print_r ( $conditions);
то
WHERE `city` = 'Санкт-Петербург'
Спустя 2 минуты, 36 секунд (22.02.2012 - 19:06) DarkGuy написал(а):
Прошу, помогите пожалуйста
Спустя 7 часов, 4 минуты, 15 секунд (23.02.2012 - 02:11) DarkGuy написал(а):
решил так
if($_POST["citying"] == $row['city']){