|
|
|
| При поиске, результат выводится весь (естественно).
Как вывести результат поиска постронично, + с ссылкой на следующую страницу?
Кроме того, хотелось бы, чтоб результаты поиска выводились одинакового размера (первые три строки). | |
|
|
|
|
|
|
|
для: Yuri
(09.02.2006 в 13:28)
| | Здесь необходимо прибегнуть к хранению информации из HTML-формы в сессии (можно передавать через GET-параметры, но это не очень удобно). Но для более детального ответа нужно больше подробностей - где ищете (в файлах, базах данных), что ищете (много ли полей в поисковой форме)? | |
|
|
|
|
|
|
|
для: cheops
(09.02.2006 в 14:25)
| | Спасибо за Ваше внимание..
Поиск по MySQL. В единственном текстовом столбце MySQL таблицы. Одно поле поиска. | |
|
|
|
|
|
|
|
|
для: Loki
(09.02.2006 в 15:28)
| | А если вот в таком скрипте?
<table>
<?php
include "config.php";
$link = mysql_connect($dblocation, $dbuser, $dbpass)
or die("Не могу законнектиться с БД");
@mysql_select_db($dbname,$link) or die("не могу выбрать БД");
if ($_GET['marka']=="" AND $_GET['model']=="" AND $_GET['god']=="" AND $_GET['cvet']=="" AND $_GET['cena']=="") $query = "SELECT * FROM cars";
elseif ($_GET['marka']=="" AND $_GET['model']=="" AND $_GET['god']=="" AND $_GET['cvet']=="" AND $_GET['cena']!="") $query = "SELECT * FROM cars WHERE cena='{$_GET['cena']}'";
elseif ($_GET['marka']=="" AND $_GET['model']=="" AND $_GET['god']=="" AND $_GET['cvet']!="" AND $_GET['cena']=="") $query = "SELECT * FROM cars WHERE cvet='{$_GET['cvet']}'";
elseif ($_GET['marka']=="" AND $_GET['model']=="" AND $_GET['god']=="" AND $_GET['cvet']!="" AND $_GET['cena']!="") $query = "SELECT * FROM cars WHERE cvet='{$_GET['cvet']}' AND cena='{$_GET['cena']}'";
elseif ($_GET['marka']=="" AND $_GET['model']=="" AND $_GET['god']!="" AND $_GET['cvet']=="" AND $_GET['cena']=="") $query = "SELECT * FROM cars WHERE god='{$_GET['god']}'";
elseif ($_GET['marka']=="" AND $_GET['model']=="" AND $_GET['god']!="" AND $_GET['cvet']=="" AND $_GET['cena']!="") $query = "SELECT * FROM cars WHERE god='{$_GET['god']}' AND cena='{$_GET['cena']}'";
elseif ($_GET['marka']=="" AND $_GET['model']=="" AND $_GET['god']!="" AND $_GET['cvet']!="" AND $_GET['cena']=="") $query = "SELECT * FROM cars WHERE god='{$_GET['god']}' AND cvet='{$_GET['cvet']}'";
elseif ($_GET['marka']=="" AND $_GET['model']=="" AND $_GET['god']!="" AND $_GET['cvet']!="" AND $_GET['cena']!="") $query = "SELECT * FROM cars WHERE god='{$_GET['god']}' AND cvet='{$_GET['cvet']}' AND cena='{$_GET['cena']}'";
elseif ($_GET['marka']=="" AND $_GET['model']!="" AND $_GET['god']=="" AND $_GET['cvet']=="" AND $_GET['cena']=="") $query = "SELECT * FROM cars WHERE model='{$_GET['model']}'";
elseif ($_GET['marka']=="" AND $_GET['model']!="" AND $_GET['god']=="" AND $_GET['cvet']=="" AND $_GET['cena']!="") $query = "SELECT * FROM cars WHERE model='{$_GET['model']}' AND cena='{$_GET['cena']}'";
elseif ($_GET['marka']=="" AND $_GET['model']!="" AND $_GET['god']=="" AND $_GET['cvet']!="" AND $_GET['cena']=="") $query = "SELECT * FROM cars WHERE model='{$_GET['model']}' AND cvet='{$_GET['cvet']}'";
elseif ($_GET['marka']=="" AND $_GET['model']!="" AND $_GET['god']=="" AND $_GET['cvet']!="" AND $_GET['cena']!="") $query = "SELECT * FROM cars WHERE model='{$_GET['model']}' AND cvet='{$_GET['cvet']}' AND cena='{$_GET['cena']}'";
elseif ($_GET['marka']=="" AND $_GET['model']!="" AND $_GET['god']!="" AND $_GET['cvet']=="" AND $_GET['cena']=="") $query = "SELECT * FROM cars WHERE model='{$_GET['model']}' AND god='{$_GET['god']}'";
elseif ($_GET['marka']=="" AND $_GET['model']!="" AND $_GET['god']!="" AND $_GET['cvet']=="" AND $_GET['cena']!="") $query = "SELECT * FROM cars WHERE model='{$_GET['model']}' AND god='{$_GET['god']}' AND cena='{$_GET['cena']}'";
elseif ($_GET['marka']=="" AND $_GET['model']!="" AND $_GET['god']!="" AND $_GET['cvet']!="" AND $_GET['cena']=="") $query = "SELECT * FROM cars WHERE model='{$_GET['model']}' AND god='{$_GET['god']}' AND cvet='{$_GET['cvet']}'";
elseif ($_GET['marka']=="" AND $_GET['model']!="" AND $_GET['god']!="" AND $_GET['cvet']!="" AND $_GET['cena']!="") $query = "SELECT * FROM cars WHERE model='{$_GET['model']}' AND god='{$_GET['god']}' AND cvet='{$_GET['cvet']}' AND cena='{$_GET['cena']}'";
elseif ($_GET['marka']!="" AND $_GET['model']=="" AND $_GET['god']=="" AND $_GET['cvet']=="" AND $_GET['cena']=="") $query = "SELECT * FROM cars WHERE marka='{$_GET['marka']}'";
elseif ($_GET['marka']!="" AND $_GET['model']=="" AND $_GET['god']=="" AND $_GET['cvet']=="" AND $_GET['cena']!="") $query = "SELECT * FROM cars WHERE marka='{$_GET['marka']}' AND cena='{$_GET['cena']}'";
elseif ($_GET['marka']!="" AND $_GET['model']=="" AND $_GET['god']=="" AND $_GET['cvet']!="" AND $_GET['cena']=="") $query = "SELECT * FROM cars WHERE marka='{$_GET['marka']}' AND cvet='{$_GET['cvet']}'";
elseif ($_GET['marka']!="" AND $_GET['model']=="" AND $_GET['god']=="" AND $_GET['cvet']!="" AND $_GET['cena']!="") $query = "SELECT * FROM cars WHERE marka='{$_GET['marka']}' AND cvet='{$_GET['cvet']}' AND cena='{$_GET['cena']}'";
elseif ($_GET['marka']!="" AND $_GET['model']=="" AND $_GET['god']!="" AND $_GET['cvet']=="" AND $_GET['cena']=="") $query = "SELECT * FROM cars WHERE marka='{$_GET['marka']}' AND god='{$_GET['god']}'";
elseif ($_GET['marka']!="" AND $_GET['model']=="" AND $_GET['god']!="" AND $_GET['cvet']=="" AND $_GET['cena']!="") $query = "SELECT * FROM cars WHERE marka='{$_GET['marka']}' AND god='{$_GET['god']}' AND cena='{$_GET['cena']}'";
elseif ($_GET['marka']!="" AND $_GET['model']=="" AND $_GET['god']!="" AND $_GET['cvet']!="" AND $_GET['cena']=="") $query = "SELECT * FROM cars WHERE marka='{$_GET['marka']}' AND god='{$_GET['god']}' AND cvet='{$_GET['cvet']}'";
elseif ($_GET['marka']!="" AND $_GET['model']=="" AND $_GET['god']!="" AND $_GET['cvet']!="" AND $_GET['cena']!="") $query = "SELECT * FROM cars WHERE marka='{$_GET['marka']}' AND god='{$_GET['god']}' AND cvet='{$_GET['cvet']}' AND cena='{$_GET['cena']}'";
elseif ($_GET['marka']!="" AND $_GET['model']!="" AND $_GET['god']=="" AND $_GET['cvet']=="" AND $_GET['cena']=="") $query = "SELECT * FROM cars WHERE marka='{$_GET['marka']}' AND model='{$_GET['model']}'";
elseif ($_GET['marka']!="" AND $_GET['model']!="" AND $_GET['god']=="" AND $_GET['cvet']=="" AND $_GET['cena']!="") $query = "SELECT * FROM cars WHERE marka='{$_GET['marka']}' AND model='{$_GET['model']}' AND cena='{$_GET['cena']}'";
elseif ($_GET['marka']!="" AND $_GET['model']!="" AND $_GET['god']=="" AND $_GET['cvet']!="" AND $_GET['cena']=="") $query = "SELECT * FROM cars WHERE marka='{$_GET['marka']}' AND model='{$_GET['model']}' AND cvet='{$_GET['cvet']}'";
elseif ($_GET['marka']!="" AND $_GET['model']!="" AND $_GET['god']=="" AND $_GET['cvet']!="" AND $_GET['cena']!="") $query = "SELECT * FROM cars WHERE marka='{$_GET['marka']}' AND model='{$_GET['model']}' AND cvet='{$_GET['cvet']}' AND cena='{$_GET['cena']}'";
elseif ($_GET['marka']!="" AND $_GET['model']!="" AND $_GET['god']!="" AND $_GET['cvet']=="" AND $_GET['cena']=="") $query = "SELECT * FROM cars WHERE marka='{$_GET['marka']}' AND model='{$_GET['model']}' AND god='{$_GET['god']}'";
elseif ($_GET['marka']!="" AND $_GET['model']!="" AND $_GET['god']!="" AND $_GET['cvet']=="" AND $_GET['cena']!="") $query = "SELECT * FROM cars WHERE marka='{$_GET['marka']}' AND model='{$_GET['model']}' AND god='{$_GET['god']}' AND cena='{$_GET['cena']}'";
elseif ($_GET['marka']!="" AND $_GET['model']!="" AND $_GET['god']!="" AND $_GET['cvet']!="" AND $_GET['cena']=="") $query = "SELECT * FROM cars WHERE marka='{$_GET['marka']}' AND model='{$_GET['model']}' AND god='{$_GET['god']}' AND cvet='{$_GET['cvet']}'";
elseif ($_GET['marka']!="" AND $_GET['model']!="" AND $_GET['god']!="" AND $_GET['cvet']!="" AND $_GET['cena']!="") $query = "SELECT * FROM cars WHERE marka='{$_GET['marka']}' AND model='{$_GET['model']}' AND god='{$_GET['god']}' AND cvet='{$_GET['cvet']}' AND cena='{$_GET['cena']}'";
$search = mysql_query($query);
$j = 1;
WHILE ($result = mysql_fetch_array($search)):
if ($result =="") $error="По Вашему запросу ничего не найдено";
else $error="Поиск успешно завершен. Если найденные данные не устраивают Вас, попробуйте изменить условия поиска. Напоминаем: названия марки, модели должны начинаться с большой буквы, год должен указываться как 4-х значное число (например 1999).";
$id_cars = $result["id_cars"];
$marka = $result["marka"];
$model = $result["model"];
$god = $result["god"];
$cvet = $result["cvet"];
$cena = $result["cena"];
$link = $result["link"];
if ($j %2 ==0)
$bgcolor="#ffff00";
else $bgcolor="#00ffff";
?>
<tr bgcolor="<?=$bgcolor?>">
<td><?=$j;?></td>
<td>Идентификацонный номер авто в базе данных :   <?=$id_cars;?></td>
<td>  Марка автомобиля :   <?=$marka;?></td>
<td>  Модель автомобиля:   <?=$model;?></td>
<td>  Год выпуска:   <?=$god?></td>
<td>  Цвет авто :   <?=$cvet;?></td>
<td>  Ссылка на досье авто :   <a href =<?=$link?>>ссылка</a></td>
</tr>
<?
$j++;
ENDWHILE;
printf($error);
?>
</table>
|
Кодер я совсем начинающий, так что просьба сильно не бить... | |
|
|
|
|
|
|
|
для: DrDeath
(09.02.2006 в 21:09)
| | Бэримор, что это?!
Может опробуем сначала причесать запросы? А то мне их даже читать страшно...
Опишите, что делает скрипт и какова структура таблиц. | |
|
|
|
|
|
|
|
для: Loki
(09.02.2006 в 23:31)
| | To DrDeath.. Я так понимаю.. это скрипт поиска по нескольким полям формы и вывода результата в таблицу с визуальным разделением строк. Который, даже если, избавить от проблем с синтаксисом, примененить RegEx [и уменьшить код], выведет ВСЕ, что он нашел. Даже если строк будет сотни. Мне ж нужно, чтоб их было, к примеру 10 или 20. И плюс ссылка на следующие 10 или 20.
В настоящий момент использую маркеры в самой таблице MySQL... А хотелось бы, че-нить более элегантного. | |
|
|
|