[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Выпадающий список для поиска в php
mnbv
есть рабочий поиск
<form action="view_sear.php" method="post" name="form_s1">
<input name="search" type="text" size="85" maxlength="40" />
<input class="search_b1" name="submit_s" type="submit" value="Искать" />
</form>


if (isset($_POST['search']))
{
$search = $_POST['search'];
}

$result = mysql_query("SELECT id,title1,title2,text FROM data1 WHERE `text` like '%$search%' AND cat='$cat' ORDER BY id desc LIMIT $start, $num ",$db);

Как сделать запрос для выбора выпадающего списока т.е. второй параметр для выбора при поиске





Спустя 6 минут, 45 секунд (4.06.2011 - 21:51) Игорь_Vasinsky написал(а):
<form action="view_sear.php" method="post" name="form_s1">
<input
name="search" type="text" size="85" maxlength="40" />
<select
name="select">
<option
value=word"">
<option
value=anover_word"">
</select>
<input
class="search_b1" name="submit_s" type="submit" value="Искать" />
</form>



$result = mysql_query("SELECT id,title1,title2,text FROM data1
WHERE `text` like '%
$search%' AND cat='$cat' AND `cell` = '%$_POST['select']%' ORDER BY id desc LIMIT $start, $num ",$db);

Спустя 1 минута, 29 секунд (4.06.2011 - 21:52) quickxyan написал(а):
неясен вопрос.

откуда береться cat?


$result = mysql_query("SELECT id,title1,title2,text FROM data1 WHERE `text` like '%$search%' AND cat='$cat' ORDER BY id desc LIMIT $start, $num ",$db);

Спустя 1 минута, 21 секунда (4.06.2011 - 21:53) Invis1ble написал(а):
наверно дописать в форму этот самый список, не?

Спустя 14 минут, 12 секунд (4.06.2011 - 22:08) mnbv написал(а):
$result = mysql_query("SELECT id,title1,title2,text FROM data1
WHERE `text` like '%$search%' AND cat='$cat' AND `cell` = '%$_POST['select']%' ORDER BY id desc LIMIT $start, $num ",$db);

`cell` = '%$_POST['select']%' --------Эта строчка для вставки
сеll -это поле,
а '%$_POST['select']%'---------для формы
форма
<select name="select">
Здесь 1
2
3 ????

</select>
Как лучше форму написать ?

Спустя 1 минута, 4 секунды (4.06.2011 - 22:09) Игорь_Vasinsky написал(а):
по стандарту.

Спустя 7 минут, 8 секунд (4.06.2011 - 22:16) mnbv написал(а):
т. е. первое нужно выбор всех записей
а последующие
1
2
3

то есть есть таблица1(cat) и (таблица2 id,title)
(таблица1 cat)=(id таблица2

Нужно вывести в список по id, title таблицы2

При поисе по выбору id title таблица2
все записи-----
title1-------------
title2-------------
titl3---------------

Спустя 22 минуты, 30 секунд (4.06.2011 - 22:38) mnbv написал(а):
Добавил
`id` = '%$_POST['select']%'

ошибка

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in

Спустя 1 минута, 53 секунды (4.06.2011 - 22:40) Игорь_Vasinsky написал(а):
а у тя select c name='select' то в форме есть? и как добавил то пакажи, и оформля код в bb теги

Спустя 5 минут, 10 секунд (4.06.2011 - 22:45) mnbv написал(а):
<form action="view_sear.php" method="post" name="form_s">
<input
name="search" type="text" size="85" maxlength="40" />
<input
class="search_b1" name="submit_s" type="submit" value="Искать" />
<select
name="select">
<option
value="1">рол</option>
<option
value="2">Тта/option>
<option value="3">Трта</option>
<option
value="4">Трта</option>
</select>


Нужно вывести в список по сat таблица1= id, title таблицы2

Спустя 1 минута, 34 секунды (4.06.2011 - 22:47) waldicom написал(а):
Цитата (mnbv @ 4.06.2011 - 20:38)

`id` = '%$_POST['select']%'

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in

потому что два раза используются одинарные кавычки. Тут или с конкатенацией работать
`id` = '%". $_POST['select'] . "%'
или с фигурными скобками
{$_POST['select']}

Спустя 2 минуты, 38 секунд (4.06.2011 - 22:50) mnbv написал(а):
$result = mysql_query("SELECT id,title1,title2,text FROM data WHERE
`text` like '%$search%' AND 'title' = '%$_POST['select']%' AND cat='$cat' ORDER BY id desc LIMIT $start, $num ",$db);
в этой строчке ?

Спустя 2 минуты, 35 секунд (4.06.2011 - 22:52) Игорь_Vasinsky написал(а):
Цитата
и оформля код в bb теги


тут по другому запрос формировать нужно, почитай про JOIN MySQL

и вот как

'%".$_POST['select']."%'
, вот - конкатенациея те. но ты сразу в SQL данные из формы шлёшь - оьезапась.

Спустя 1 минута, 33 секунды (4.06.2011 - 22:54) Игорь_Vasinsky написал(а):
Цитата
Like '_______________%'

ну вот чё за фигня?

либо

LIKE '%".$var."%'

или
LIKE '%{$var}%'

Спустя 1 минута, 48 секунд (4.06.2011 - 22:55) waldicom написал(а):
Цитата (Игорь_Vasinsky @ 4.06.2011 - 20:54)
Цитата
Like '_______________%'

ну вот чё за фигня?

либо

LIKE '%".$var."%'

или
LIKE '%{$var}%'

Почему фигня? Знак _ (подчеркивание) тоже является plcaeholder'ом, как и знак %
Просто % - это 0..n, а _ - это точно один знак

Спустя 1 минута, 47 секунд (4.06.2011 - 22:57) Игорь_Vasinsky написал(а):
waldicom
не знал, и зачем такой синтаксис использовать?

Спустя 2 минуты, 28 секунд (4.06.2011 - 23:00) mnbv написал(а):
<form action="view_sear.php" method="post" name="form_s">
<input name="search" type="text" size="85" maxlength="40" />
<input class="search_b1" name="submit_s" type="submit" value="Искать" />
<select name="select">
<option value="1">рол</option>
<option value="2">Тта/option>
<option value="3">Трта</option>
<option value="4">Трта</option>
</select>

Нужно вывести в список по сat таблица1= id, title таблицы2


Спустя 1 минута, 57 секунд (4.06.2011 - 23:02) waldicom написал(а):
Цитата (Игорь_Vasinsky @ 4.06.2011 - 20:57)
не знал, и зачем такой синтаксис использовать?

В отдельных случаях помогает. Например символов перед "vasja" должно быть точно 3. Тогда так: LIKE '___vasja'.
Хотя MySQL и регулярки поддерживает.

Спустя 1 минута, 24 секунды (4.06.2011 - 23:03) Игорь_Vasinsky написал(а):
я тебе уже сказал - что тебе нужно почитать по совместный запрос к 2м таблицам, в частности про JOIN в SQL, зачем прикидоваться то.

waldicom
запомню... что то знакомое.

Спустя 9 минут, 5 секунд (4.06.2011 - 23:12) mnbv написал(а):
<select name="select">
<option value="1">рол</option>--------------вот в эти строчки сразу передать поля можно ??? их всего 10 id,title названий
<option value="2">Тта/option>
<option value="3">Трта</option>
<option value="4">Трта</option>
</select>

Спустя 5 минут, 1 секунда (4.06.2011 - 23:17) Игорь_Vasinsky написал(а):
да как душе твоей угодно, ты творец своего кода - нужно 10 - делай 10

Спустя 20 минут, 32 секунды (4.06.2011 - 23:38) waldicom написал(а):
Цитата (mnbv @ 4.06.2011 - 21:12)
<option value="1">рол</option>--------------вот в эти строчки сразу передать поля можно ??? их всего 10 id,title названий

Если я правильно понял вопрос, то можно. Нужно использовать свойство multiple
В общем примерно так:
<select name="select" multiple="multiple" size="4" >


size можно устанавливать как хочешь

Спустя 3 минуты, 5 секунд (4.06.2011 - 23:41) Игорь_Vasinsky написал(а):
waldicom
Цитата
Нужно вывести в список по сat таблица1= id, title таблицы2


Спустя 14 часов, 20 минут, 47 секунд (5.06.2011 - 14:02) mnbv написал(а):
Выходит ошибка

arse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in



$result = mysql_query("SELECT id,title FROM data WHERE 
`text` like '%
$search%' AND `cat`='%$_POST['searh1']%' AND cat='$cat' ORDER BY id desc LIMIT $start, $num ",$db);


форма

<select name="searh1"
<option value="1">назв>
<option value="2">жан</option>

</select>

Спустя 11 минут, 12 секунд (5.06.2011 - 14:13) waldicom написал(а):
$result = mysql_query("SELECT id,title FROM data WHERE 
`text` like '%
$search%' AND `cat`='%" . $_POST['searh1'] . "%' AND cat='$cat' ORDER BY id desc LIMIT $start, $num ",$db);


Только вот семантика запроса странная немного: поле cat должно быть равным $cat и похоже на $_POST['searh1'] ?
Че-то не то.

Спустя 8 минут, 5 секунд (5.06.2011 - 14:21) mnbv написал(а):
ошибки нет но поиск не работает

$result = mysql_query("SELECT id,title FROM data WHERE 
`text` like '%
$search%' AND `cat`='%" . $_POST['searh1'] . "%' AND ORDER BY id desc LIMIT $start, $num ",$db);

cat='$cat' -------строчку удалил

Спустя 3 минуты, 32 секунды (5.06.2011 - 14:24) waldicom написал(а):
Обрамляйте свои коды с помощью BB-кодов. Это такие кнопки с надписями php, sql, html, css, js и так далее.


В верхнем запросе надо убрать последнее слово AND.

То, что поиск не работает, зависит от того, что видимо в таблице нет записейч удовлетваряющих условию. Надо смотреть, что в таблице и что приходит.
Распечатайте запрос, который посылается в базу данных.

Спустя 4 минуты, 43 секунды (5.06.2011 - 14:29) mnbv написал(а):
я проверял запрос по двум полям работает

Нужно сделать поиск с выпадающим списком

Данные там Цифры=1,2,3,4 т.е. cat=1

<select name="searh1"
<option value="1">1>
<
option value="2">2</option>

и тд.

Спустя 6 минут (5.06.2011 - 14:35) waldicom написал(а):
Сделайте следующее:

$query = "SELECT id,title FROM data WHERE 
`text` like '%
$search%' AND `cat`='%" . $_POST['searh1'] . "%' ORDER BY id desc LIMIT $start, $num ";
echo $query;
$result = mysql_query($query) or die (mysql_error());


и напишите, что выводится на экран.

Спустя 6 минут, 58 секунд (5.06.2011 - 14:42) mnbv написал(а):
Вывело на верху страницы

SELECT id,title FROM data WHERE `text` like '%Дом%' AND `cat`='%1%' ORDER BY id desc LIMIT 0, 5

Спустя 9 минут, 56 секунд (5.06.2011 - 14:52) waldicom написал(а):
Вот это вот:
AND `cat`='%1%' 


а в поле `cat` действительно хранятся категории с символами % ?
Если нет, то тогда или
AND `cat`LIKE '%1%' 

или
AND `cat`='1'

Спустя 1 час, 27 минут, 15 секунд (5.06.2011 - 16:19) mnbv написал(а):
Через Java получилось.
Всем спасибо.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.