2013-08-28 3 views
0

У меня есть код для функции поиска здесь:Как мне найти страницу результатов поиска PHP?

<?php 
    include("config.php"); 
    $search = mysql_real_escape_string($_POST['search']); 
    if (!empty($_POST['search'])) { 
    $data = mysql_query("SELECT * FROM shop WHERE name LIKE '%$search%' OR shout LIKE '%$search%' ORDER BY id DESC ") or die(mysql_error()); 
    while ($info = mysql_fetch_array($data)) { 
     $name = stripslashes($info['name']); 
     $shout = stripslashes($info['shout']); 
     //Result code goes here eventually 
    } 
    } 
    ?> 

и я в конечном итоге сделать его отобразить все результаты в виде сетки.
Моя проблема начинается, когда пользователь нажимает на элемент, чтобы увидеть страницу, посвященную только этому предмету (например, любой сайт розничного магазина).
Я предполагаю, что в моем поисковом коде я могу использовать $ _SESSION и просто установить все столбцы на сеансы, а затем повторить их на моей странице results.php.

Это эффективный способ сделать это, или я собираюсь сделать это неправильно?
Я вижу веб-сайты, которые, когда вы нажимаете на определенный элемент, выглядят сумасшедшим, а что нет, и я не совсем уверен, что это за причины.

+0

Нет, вы не должны добавлять результаты к сеансу (по крайней мере, в этом случае). Просто добавьте их в массив и напечатайте их, как обычно (желательно в представлении). Что касается сумасшедших URL-адресов: вы должны опубликовать пример, я понятия не имею, что вы имеете в виду ^^ – JimL

+0

Эй, с php вы возвращаете массив, попробуйте вставить еще одну переменную, например $ anchorHref = $ info ['href']; то на странице results.php вы можете отобразить как Link Name goes here

+0

@ JimL Я имею в виду вот так: http://www.staples.com/Xbox-S9G-00005-Xbox-360-Console-250GB-Hard-Drive/product_IM1LC7913 How я получаю свой URL-адрес, чтобы сделать что-то подобное, когда я нажимаю на результат поиска? – user2566387

ответ

0

Вы можете использовать

header('Location: /search/'.rawurlencode($search)); 
exit; 

и теперь вы можете получить строку поиска по

$search = rawurldecode($_GET['your_name']); 

и вашей первой страницы не будет отличаться от других. Или вы можете использовать метод = "get" в своей форме поиска. В любом случае, вы можете использовать сеанс для хранения строки поиска.

+0

Куда я могу поместить этот код? в верхней части страницы результатов? Или внизу страницы результатов поиска? – user2566387

Смежные вопросы