我该如何处理PHP搜索结果页面


How do I go about a PHP search result page?

我在这里有一个搜索函数的代码:

<?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页面上回显它们。

这是一种有效的方法吗?还是我做错了
我看到一些网站,当你点击某个项目时,URL看起来很疯狂,我真的不确定是什么原因造成的。

您可以使用

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

现在你可以通过获得你的搜索字符串

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

你的第一页与其他页面没有什么不同。或者你可以在你的搜索表单中使用method="get"。无论如何,你可以使用session来存储你的搜索字符串。