|
|
|
| Доброй ночи!
Снова нужна Ваша помощь!
форма для выбора:
Район: </b><select name='region[]' size='3' multiple>
<option value="%">ВСЕ</option>
<?
$res=mysql_query("SELECT DISTINCT region FROM bazarent ORDER BY BINARY region");
if($res)
{
while($baza = mysql_fetch_array($res))
{
echo ("<option value='".$baza['region']."'>".$baza['region']."<br></option>");
}
}
else
{
echo "<p><b>Error: ".mysql_error()."<br>";
exit();
}
?>
</select>
|
данные передаем методом POST.
При:
<?
print_r($_POST['region']);
?>
|
и выбранных позициях, выводит:
Array ( [0] => Бориспольский [1] => Броварской )
Как ЭТО :) теперь прикрутить сюда:
$res=mysql_query("SELECT * FROM bazarent where
tip LIKE '".$_POST["tip"]."'
AND region LIKE '".$_POST["region"]."'
AND ........");
|
P.S. Честно пыталась найти ответ в уже существующих темах. Не нашла... :(( | |
|
|
|
|
|
|
|
для: Gandzas
(28.11.2006 в 23:58)
| | Для того, чтобы получить доступ к элементу "Борисопольский" следует использовать элемент $_POST['region'][0], для "Броварской" - $_POST['region'][1]. | |
|
|
|
|
|
|
|
для: cheops
(29.11.2006 в 00:15)
| | спасибо, надеюсь, что поняла, а как запретить выбор более, чем 5-ти элементов? | |
|
|
|
|
|
|
|
для: Gandzas
(29.11.2006 в 00:21)
| | Для этого используется ключевое слово LIMIT
SELECT DISTINCT region FROM bazarent ORDER BY BINARY region LIMIT 5
|
| |
|
|
|
|
|
|
|
для: cheops
(29.11.2006 в 00:24)
| | Насколько я понимаю, LIMIT выведет 5 значений, а мне нужно запретить одновременный выбор юзером более, чем 5-ти значений, а из базы как раз вывести все елементы.
Извините за некорректно поставленный вопрос. :) | |
|
|
|
|
|
|
|
для: Gandzas
(29.11.2006 в 00:29)
| | Вы можете проверить количество элементов в массиве $_POST['region'], если их больше 5 - выводите сообщение об ошибке
<?php
if(count($_POST['region'])) exit("Выбрано более пяти элементов");
?>
|
| |
|
|
|
|
|
|
|
для: Gandzas
(29.11.2006 в 00:21)
| |
$res=mysql_query("SELECT * FROM bazarent where
tip LIKE '".$_POST["tip"]."'
AND (region LIKE '".$_POST['region'][0]."' OR region LIKE '".$_POST['region'][1]."')
AND......
|
Что неправильно? :(((( Не работает. | |
|
|
|
|
|
|
|
для: Gandzas
(29.11.2006 в 00:28)
| | Что mysql_error() возвращает? | |
|
|
|
|
|
|
|
для: cheops
(29.11.2006 в 12:32)
| | Ничего не возвращает. Складывается ощущение, что таких вариантов базе нет :( Но они есть. | |
|
|
|
|
|
|
|
для: Gandzas
(29.11.2006 в 00:28)
| | В такой ситуации нужно напечатать итоговый текст запроса, и посмотреть, правильно ли он сформирован.
$sql = "SELECT * FROM bazarent where
tip LIKE '".$_POST["tip"]."'
AND (region LIKE '".$_POST['region'][0]."' OR region LIKE '".$_POST['region'][1]."')
AND...... ";
echo $sql;
$res=mysql_query($sql);
|
| |
|
|
|