不太知道如何使用这个,任何帮助将不胜感激。因此,我正在尝试显示与已单击的链接列匹配的产品。单击按钮(搜索)时,我已成功完成搜索功能。现在我正试图在按下链接时实现类似的方法。
$sql = "SELECT * FROM products ";
if(isset($_POST['Submit'])){
if(empty($_POST['Search'])){
$error = true;
}else{
$searchq = mysql_real_escape_string($_POST['Search']);
$searchq = preg_replace("#[^0-9a-z]#i","",$searchq);
$sql .= "WHERE type LIKE '%$searchq%' or name LIKE '%$searchq%'";
}
} $query = mysql_query($sql) or die(mysql_error());
链接是这样的,所以当用户点击链接时,它会根据链接中的name =“”显示与表产品中的列类型匹配的数据。
<ul>
<li name="Books" class="menu-781"><a href="#">Books</a></li>
<li name="Perfume" class="menu-780"><a href="#">Perfume</a></li>
<li name="Gifts" class="menu-789"><a href="#">Gifts</a></li>
<li name="Stationery" class="menu-778 last""><a href="#">Stationery</a></li>
</ul>
提前致谢。
答案 0 :(得分:2)
如果您的链接转到另一个页面或同一页面,您可以发送带链接的参数,代码就像
<li name="Books" class="menu-781"><a href="somepage.php?name='Books'">Books</a></li>
在另一页中,您可以使用以下方式获取值:
$searchq=$_GET['name'];
现在您从链接中获取的值不是来自表单搜索,您可以进行查询
答案 1 :(得分:1)
试试这段代码
<ul>
<li name="Books" class="menu-781"><a href="search.php?q=Books">Books</a></li>
<li name="Perfume" class="menu-780"><a href="search.php?q=Perfume">Perfume</a></li>
<li name="Gifts" class="menu-789"><a href="search.php?q=Gifts">Gifts</a></li>
<li name="Stationery" class="menu-778 last""><a href="search.php?q=Stationery">Stationery</a></li>
</ul>
并在你的php中
$sql = "SELECT * FROM products ";
if(isset($_GET['q'])){
if(empty($_GET['q'])){
$error = true;
}else{
$searchq = mysql_real_escape_string($_GET['q']);
$searchq = preg_replace("#[^0-9a-z]#i","",$searchq);
$sql .= "WHERE type LIKE '%$searchq%' or name LIKE '%$searchq%'";
}
}
$query = mysql_query($sql) or die(mysql_error());
答案 2 :(得分:0)
好吧,你可以创建GET请求而不是POST。例如,您可以像这样创建网址:
http://someurl.com/?filter=gifts
你需要从GET中获取变量,而不是从POST中获取变量。
一条建议,如果您使用 PDO ,您的申请会更安全。有关更多信息,请访问:http://hu1.php.net/manual/en/book.pdo.php