如何进入PHP搜索结果页面?

如何进入PHP搜索结果页面?,php,mysql,session,echo,Php,Mysql,Session,Echo,我这里有搜索功能的代码: <?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 D

我这里有搜索功能的代码:

<?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
   }
   }
   ?>

我最终将使其在网格中显示所有结果。
我的问题始于用户单击某个商品以查看专门针对该商品的页面(就像任何零售店网站一样)。
我假设在我的搜索代码中我可以使用$\u SESSION,将所有列设置为sessions,然后在我的
results.php
页面上回显它们

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

你可以使用

header('Location: /search/'.rawurlencode($search));
exit;
现在你可以通过

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

你的第一页和其他页面没有什么不同。也可以在搜索表单中使用method=“get”。无论如何,您可以使用会话来存储搜索字符串。

不,您不应该将结果添加到会话中(至少在这种情况下)。只需将它们添加到数组中,并像通常那样打印它们(最好是在视图中)。关于疯狂的URL:您应该发布一个示例,我不知道您的意思^^嘿,从php返回一个数组,尝试再插入一个变量,如$anchorHref=$info['href'];然后在你的results.php页面中,你可以像@JimL一样显示,我的意思是:当我点击搜索结果时,如何让我的URL做类似的事情?@user2566387:只需添加链接,将用户带到这些URL,然后重写它们。在您提出建议的情况下,您可以只获取产品\u IM1LC7913,并从该摘录中提取IM1LC7913,您可以从数据库中获取该摘录,并在唯一的产品页面中显示。@JimL我的数据库中为每个项目都有一个产品编号列,因此我肯定知道如何提取该产品。现在,我如何将它输入到我的URL中,而不为每个结果创建唯一的HTML页面?我尝试创建一个页面(result.php或其他任何页面),当我点击产品100时,它会进入domain.com/result/100或其他页面,但它只是编辑一个result.php页面,我将把代码放在哪里?在结果页面的顶部?或者在搜索结果页面的底部?