获取MySQL数据单击时WHERE列等于HTML链接

时间:2014-03-06 11:54:46

标签: php html mysql

不太知道如何使用这个,任何帮助将不胜感激。因此,我正在尝试显示与已单击的链接列匹配的产品。单击按钮(搜索)时,我已成功完成搜索功能。现在我正试图在按下链接时实现类似的方法。

    $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>

提前致谢。

3 个答案:

答案 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