Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: select multiple, POST и SELECT * FROM tbl where...

Сообщения:  [1-10] 

 
 автор: Trianon   (29.11.2006 в 14:03)   письмо автору
 
   для: 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);

   
 
 автор: Gandzas   (29.11.2006 в 13:25)   письмо автору
 
   для: cheops   (29.11.2006 в 12:32)
 

Ничего не возвращает. Складывается ощущение, что таких вариантов базе нет :( Но они есть.

   
 
 автор: cheops   (29.11.2006 в 12:33)   письмо автору
 
   для: Gandzas   (29.11.2006 в 00:29)
 

Вы можете проверить количество элементов в массиве $_POST['region'], если их больше 5 - выводите сообщение об ошибке
<?php
  
if(count($_POST['region'])) exit("Выбрано более пяти элементов");
?>

   
 
 автор: cheops   (29.11.2006 в 12:32)   письмо автору
 
   для: Gandzas   (29.11.2006 в 00:28)
 

Что mysql_error() возвращает?

   
 
 автор: Gandzas   (29.11.2006 в 00:29)   письмо автору
 
   для: cheops   (29.11.2006 в 00:24)
 

Насколько я понимаю, LIMIT выведет 5 значений, а мне нужно запретить одновременный выбор юзером более, чем 5-ти значений, а из базы как раз вывести все елементы.
Извините за некорректно поставленный вопрос. :)

   
 
 автор: Gandzas   (29.11.2006 в 00:28)   письмо автору
 
   для: 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......


Что неправильно? :(((( Не работает.

   
 
 автор: cheops   (29.11.2006 в 00:24)   письмо автору
 
   для: Gandzas   (29.11.2006 в 00:21)
 

Для этого используется ключевое слово LIMIT
SELECT DISTINCT region FROM bazarent ORDER BY BINARY region LIMIT 5

   
 
 автор: Gandzas   (29.11.2006 в 00:21)   письмо автору
 
   для: cheops   (29.11.2006 в 00:15)
 

спасибо, надеюсь, что поняла, а как запретить выбор более, чем 5-ти элементов?

   
 
 автор: cheops   (29.11.2006 в 00:15)   письмо автору
 
   для: Gandzas   (28.11.2006 в 23:58)
 

Для того, чтобы получить доступ к элементу "Борисопольский" следует использовать элемент $_POST['region'][0], для "Броварской" - $_POST['region'][1].

   
 
 автор: Gandzas   (28.11.2006 в 23:58)   письмо автору
 
 

Доброй ночи!
Снова нужна Ваша помощь!

форма для выбора:

Район: </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. Честно пыталась найти ответ в уже существующих темах. Не нашла... :((

   

Сообщения:  [1-10] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования