|
| |
|
|
| |
для: Владимир22
(08.07.2006 в 23:44)
| | | Хм... просто введите какое-нибудь специальное обозначаение вроде !not_empty и проверяйте каждый раз не равен ли параметр этому значению, вряд ли встретится город с таким названием... | |
| |
|
|
| |
|
|
| |
для: Владимир22
(10.07.2006 в 05:34)
| | | $u_artist="&artist=all";
if ($artist) {
if($artist=='all'){$poisk1 = "&& artist!=''";}else{$poisk1 = "&& artist='$artist'";}
$u_artist="&artist=$artist";} else {$poisk1=""; $u_artist="";} | |
| |
|
|
| |
|
|
| |
для: cheops
(09.07.2006 в 22:14)
| | | Да нет, с Мадонной это уже второй пример, а с полями вроде всё нормально, проблема описана чуть ниже.... | |
| |
|
|
| |
|
|
| |
для: valenok
(09.07.2006 в 22:47)
| | | Так всё дело в том, что данные на на основную страницу (poisk.php) попадают методом POST, а при постраничной навигации передаются методом GET.
Вот кусок кода:
<?
......... // пропущено то, что к делу не относится
if ($city == "Все города")
{ $poisk = "where city != '*'"; $u_city ="&city=$city"; }
else
{ $poisk="where city='$city'"; $u_city="&city=$city"; }
if ($artist) {$poisk1 = "&& artist='$artist'"; $u_artist="&artist=$artist";} else {$poisk1=""; $u_artist="";}
$result=mysql_query("select * from list $poisk $poisk2 order by 'date' desc");
...
?>
|
Пояснения:
$u_city и $u_artist - это то, что при постраничной навигации (там код стандартный) добавляется к Url - http://site.ru/poisk.php?page=<?=$numer?><?$=u_city?><?$u_artist?>
Т.о. получаетя, что $result при переходе на новую страницу вывода получает данные из GET и исходя из них опять строит запрос (т.е такое себе кольцо).
Всё работет нормально, если запрос простой (то-то равно тому-то), проблема в том, что я не знаю как через GET в моём случае передать, например эквивалент: artist!=''" (т.е. любая НЕПУСТАЯ ячейка) или artist LIKE "такой-то". Как это можно передать через GET? | |
| |
|
|
| |
|
|
| |
для: Владимир22
(08.07.2006 в 23:44)
| | | http://site.ru/poisk.php?page=2&city=all
if($_GET['city']=='all'){$city='IS NOT NULL';}
else{$city="='".$_GET['city']."'";}
SELECT * FROM table WHERE city $city
не забывайте про безопасность | |
| |
|
|
| |
|
|
| |
для: Владимир22
(09.07.2006 в 14:07)
| | | /index.php?artist=madonna
index.php
--
if(!in_array($_GET['artist'],$artists)){die('ВОН!!');} | |
| |
|
|
| |
|
|
| |
для: Владимир22
(09.07.2006 в 14:07)
| | | А погодите... вы по городу ищите или по чему-то другому - какие поля у вас участвуют в поиске? | |
| |
|
|
| |
|
|
| |
для: hell_riser
(09.07.2006 в 06:13)
| | | Всё равно не работает....
И ещё, если кто знает.
Вот запрос к базе
$sql = "SELECT * FROM table WHERE artist LIKE 'Madonna'";
|
Как при постраничной навигации можно указать через GET 'artist LIKE Madonna' ? | |
| |
|
|
| |
|
|
| |
для: Владимир22
(08.07.2006 в 23:44)
| | | А тек не пробывали?
http://site.ru/poisk.php?page=2&city!="<?php echo"NOT NULL"?>"
|
| |
| |
|
|
| |
|
|
| |
для: cyberface
(09.07.2006 в 01:20)
| | | Так почему-то не хочет: со второй страницы навигации показывает всё подряд, т.е. базе данных не передаётся нужное значение.
Пробовал также: http://site.ru/poisk.php?page=2&city=true
НЕ РАБОТАЕТ, увы.... Если чётко задать параметр, типа, city=Kursk, всё выполняется правильно... | |
| |
|
|
|