Помощник
|
Поиск по сайту |
BoL4oNoK
|
Сообщение
#1
|
||
|
|
||
|
|||
BoL4oNoK
|
Сообщение
#2
|
|
И еще вопросик. Может кто знает как сделать подобное:
Есть БД, в которой хранится 100 записей. Из них выбирается 80(не факт, что идут по порядку). Далее идет постраничный вывод, по 20 записей на страницу(т.е. в данном случае это 4 страницы). Как в запросе к БД указать какой id материала считать последним? Например: id | title | 1 | Назв1 | 2 | Назв2 | 3 | Назв3 | 4 | Назв4 | 5 | Назв5 | ... 98 | Назв98 | 99 | Назв99 | 100 | Назв100 | Из неё были выбраны строки с id: 1-7, 24, 26, 30-70 и т.д. Вывот идет в порядке убывания. Например мы вывели с 70 по 51. Как теперь сделать так, чтобы последний id = 50? ЗЫ, ненаю как сформулировать правильно. Или подскажите вменяемый код постраничного вывода. |
|
|
DoctorX |
16.2.2011, 2:59;
Ответить: DoctorX
Сообщение
#3
|
|
[PHP]$searquery = '';
if (!empty($who)) { if (!empty($searquery)) $searquery .= " AND `who`='{$who}'"; else $searquery .= "`who`='{$who}'"; } if (!empty($loc)) { if (!empty($searquery)) $searquery .= " AND `loc`='{$loc}'"; else $searquery .= "`loc`='{$loc}'"; } if (!empty($sex)) { if (!empty($searquery)) $searquery .= " AND `sex`='{$sex}'"; else $searquery .= "`sex`='{$sex}'"; } if (!empty($who)) { if (!empty($searquery)) $searquery .= " AND `color`='{$col}'"; else $searquery .= "`color`='{$col}'"; }[/PHP] --> Можно сделать изящней [PHP] if (is_set($who)) { $sq[] = "`who`='{$who}'"; } .... $searquery = implode($sq, ' AND '); // В параметрах не уверен }[/PHP] [PHP]if (!empty($searquery)) { $query = "SELECT * FROM ".$table." WHERE ".$searquery." ORDER BY `id` DESC"; } else { $query = "SELECT * FROM ".$table." ORDER BY `id` DESC"; } [/PHP] --> [PHP] $where = (empty($searquery)) ? "" : "WHERE ".$searquery; $query = "SELECT * FROM ".$table." ".$where." ORDER BY `id` DESC"; [/PHP] Поиск занимает около 40-50 сек. (в бд только 5 записей). Это не нормально. Но проблем в вашем коде не вижу. Сервер на локальной машине? Не ищет, если в поле color указан только 1 цвет. Не понял. -------------------- |
|
|
DoctorX |
16.2.2011, 3:01;
Ответить: DoctorX
Сообщение
#4
|
|
Для постраничного вывода используйте LIMIT в sql
-------------------- |
|
|
ottaviano |
16.2.2011, 3:05;
Ответить: ottaviano
Сообщение
#5
|
|
|
|
|
BoL4oNoK
|
Сообщение
#6
|
|
|
|
|
LifeUP |
16.2.2011, 12:11;
Ответить: LifeUP
Сообщение
#7
|
|
поиск обычно делают через LIKE
|
|
|
BoL4oNoK
|
Сообщение
#8
|
|
Исправил код поиска
[PHP]if (!empty($_GET['col1'])) $col[] = $_GET['col1']; if (!empty($_GET['col2'])) $col[] = $_GET['col2']; if (!empty($_GET['col3'])) $col[] = $_GET['col3']; if (!empty($_GET['col4'])) $col[] = $_GET['col4']; $color = (empty($col)) ? '' : implode(", ", $col); $who = mysql_real_escape_string($_GET['who']); $name = mysql_real_escape_string($_GET['name']); $date = mysql_real_escape_string($_GET['date']); $loc = mysql_real_escape_string($_GET['loc']); $height = mysql_real_escape_string($_GET['height']); $sex = mysql_real_escape_string($_GET['sex']); $col = mysql_real_escape_string($color); $other = mysql_real_escape_string($_GET['other']); $cont = mysql_real_escape_string($_GET['cont']); $table = $_GET['findtype']; if (isset($who)) { $sq[] = "`who` LIKE '{$who}'"; } if (isset($loc)) { $sq[] = "`loc` LIKE '{$loc}'"; } if (isset($sex)) { $sq[] = "`sex` LIKE '{$sex}'"; } if (isset($col)) { $sq[] = "`color` LIKE '{$col}'"; } $searquery = implode(" AND ", $sq); $where = (empty($searquery)) ? "" : "WHERE ".$searquery; $query = "SELECT * FROM ".$table." ".$where." ORDER BY `id` DESC"; $sql = mysql_query($query); $content = ''; while ($row = mysql_fetch_assoc($sql)) { $content .= '<tr> <td valign="top"><img alt="'.$row['name'].'" src="/foto/prev/'.$row['foto'].'" /></td> <td valign="top"><a href="/base/view.php?id='.$row['id'].'" target="_blank">Пропал(а) '.$row['who'].'<br />'.$row['date'].' в (микро-)районе: '.$row['loc'].' пропал(а) '.$row['sex'].', окрас: '.$row['color'].'</a> </td> <td valign="top">'.$row['adddate'].'</td> </tr>'; }[/PHP] Но ничего не ищет. В чем ошибка? |
|
|
ottaviano |
16.2.2011, 23:44;
Ответить: ottaviano
Сообщение
#9
|
|
Но ничего не ищет что вы под этим подразумеваете? - не работает скрипт и выводит ошибку - какую ошибку? - никаких ошибок, просто ничего не выводит на страницу - если этот вариант, то пробовали ли вы показать содержимое переменной $content после цикла ? [PHP]echo $content;[/PHP] |
|
|
BoL4oNoK
|
Сообщение
#10
|
|
2 вариант. Пробовал выводить. Пустое значение(поля таблицы пустые)
|
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Требуется помощь по сайту на "ВордПресс" Закрылся доступ в панель администратора |
15 | Tia2 | 2350 | 17.4.2024, 0:54 автор: diviner99 |
|
Аукцион 5 трастовых сайтов. Продам сайты с ИКС, возраст более 4-х лет, с небольшим доходом, Аукцион на 5 сайтов раздельный по каждому сайту Аукцион на 5 сайтов раздельный по каждому сайту |
0 | rumiso | 1031 | 18.9.2022, 18:39 автор: rumiso |
|
Smmsearch.net - поиск самой дешевой накрутки в социальных сетях. | 0 | Professor7717 | 3294 | 13.8.2021, 19:53 автор: Professor7717 |
|
Поиск кодера в команду. PHP, Pyton. На постоянку. | 7 | getsend_mw | 2858 | 3.2.2021, 21:15 автор: getsend_mw |
|
Я Вам тексты, Вы мне работы по сайту | 1 | Shelley | 1079 | 28.10.2020, 13:49 автор: Telnor |
Текстовая версия | Сейчас: 20.4.2024, 7:10 |