Надо сделать поиск. Все есть, вот только не знаю как сделать так что бы можно было выбрать все (в даном случае разделы).
Вот форма:
PHP:
<form id="form1" name="form1" method="post" action="search.php">
<table width="1011" border="0" cellspacing="0" cellpadding="0">
<tr>
<th width="472" scope="col"><?php
include ("mysql.php");
$query = mysql_query ("SELECT id, title FROM sections ORDER BY title");
echo "<select name='section' id='section'>";
while (list ($section_id, $title) = mysql_fetch_array ($query))
echo "<option value=$section_id>$title</option>";
echo "</select>";
?> </th>
<th width="140" scope="col"> <select name="type" id="type">
<option>Предложение</option>
<option>Спрос</option>
<option>Обмен</option>
<option>Сдам</option>
<option>Сниму</option>
<option>Разное</option>
</select></th>
<th width="332" scope="col"><label>
<input name="search" type="text" id="search" size="50" />
</label></th>
<th width="67" scope="col"><label>
<input type="submit" name="Submit" value="Искать" />
</label></th>
</tr>
</table>
</form>
Нужно что бы можно было выбрать все разделы (типы).
Заранее спасибо.
Надеюсь на скорую помощь.
(Добавление)
Вот скрипт который обрабатывает форму:
PHP:
<?php
include ("mysql.php");
$search = $_POST ['search'];
$query = mysql_query ("SELECT id, section, type, text, name, email, date FROM announcements WHERE section = '$section', type = '$type' text LIKE '%$search%'");
while (list ($id, $section, $type, $text, $name, $email, $date) = mysql_fetch_array ($query))
{
echo "<table width='300' border ='1' >";
echo "<tr>";
echo "<td width='150'>$type</td><td><div align='right'>$date</div></td>";
echo "</tr>";
echo "</table>";
echo "<table width='300' border ='1'>";
echo "<tr>";
echo "<td>$text</td>";
echo "</tr>";
echo "</table>";
echo "<table width='300' border ='1'>";
echo "<tr>";
echo "<td width='150'>$name</td><td><div align='right'><a href='mailto:$email'>$email</div></td>";
echo "</table>";
echo "<br>";
}
?>
1. Andrey5555 - 17 Января, 2008 - 19:43:53 - перейти к сообщению
2. EuGen - 17 Января, 2008 - 19:47:41 - перейти к сообщению
Проблема в том, чтобы добавить в select еще пункт "Все разделы"? или в том, как сформировать запрос, чтобы он охватывал все разделы? Или в чем-то еще? Что-то не до конца ясно пока что.
3. Andrey5555 - 17 Января, 2008 - 19:55:32 - перейти к сообщению
Сформировать запрос.
4. EuGen - 17 Января, 2008 - 20:03:22 - перейти к сообщению
ОК,
Так, как Вы сейчас это делаете - не совсем правильно, потому что в Вашем запросе нет гибкости. Как я обычно делаю в таких случаях:
Так, как Вы сейчас это делаете - не совсем правильно, потому что в Вашем запросе нет гибкости. Как я обычно делаю в таких случаях:
CODE (text):
скопировать код в буфер обмена
скопировать код в буфер обмена
- $section=$_POST['section'];
- $search=$_POST['search'];
- $type=$_POST['type'];
- $rgWheres=array();
- if($section)
- $rgWheres[]="section='".addslashes($section)."'";
- if($type)
- $rgWheres[]="type='".addslashes($type)."'";
- if($search)
- $rgWheres[]="`text` LIKE '%".addslashes($search)."%'";
- $strWhere=join("&&", $rgWheres);
- if ($strWhere)
- $strWhere="WHERE ".$strWhere;
- if($search)
- {
- $query = mysql_query ("SELECT id, section, type, text, name, email, date FROM announcements $strWhere");
- }