使用PHP在MySQL数据库中搜索多行

时间:2014-12-21 17:48:25

标签: php mysql database search

我正在尝试在我正在开发的网站上创建一个“探索”页面。以下是用于视觉参考的页面和数据库的图像。

数据库:http://gyazo.com/a48eb00458d3a93845bc666af23775c1 网页:http://gyazo.com/69d0889c77d784d12448827b603891be

这是我目前的PHP脚本:     

$connect = mysql_connect("localhost","root","root");

if (!$connect) {
    die('lel' . mysql_error());
}

$search = $_GET['make'];

mysql_select_db("dapper");

$query = mysql_query("SELECT * FROM posts WHERE make = '$search'");

while ($rows = mysql_fetch_array($query)) {
    $id = $rows['id'];
    $photographer = $rows['photographer'];
    $carowner = $rows['car-owner'];
    $make = $rows['make'];
    $event = $rows['event'];
    $author = $rows['author'];
    $date = $rows['date'];

    echo "
    <article>
        <img src='uploads/$id.jpg'>
    </article>";
}

fclose($connect);

?>

这是我的搜索HTML标记:

    <ul>
        <h4>Make</h4>
        <a href="explore.php?make=vw"><li>Vw</li></a>
        <a href="explore.php?make=audi"><li>Audi</li></a>
    </ul>
    <ul>
        <h4>Event</h4>
        <a href="explore.php?event=h2oi"><li>H20i</li></a>
        <a href="explore.php?event=titanic dubs"><li>Titanic Dubs</i></li></a>
        <a href="explore.php?event=dubshed"><li>Dubshed</li></a>
        <a href="explore.php?event=players show"><li>Players Show</i></li></a>
    </ul>

从网页图片中可以看出,用户应该能够搜索活动,制作和摄影师。但是我只是设法让脚本成功搜索一件事。我觉得我没有解释这个最好,但我不是试图让用户搜索例如:摄影师和同一搜索中的事件。

提前致谢。

杰米麦卡德尔, PHP Noob

1 个答案:

答案 0 :(得分:2)

按照OP来解决问题:

$search2 = $_GET['event']; - WHERE make = '$search' OR event = '$search2'或将OR替换为AND,如果您的行与当前行中的行匹配那些标准。


建议:

您最好使用下拉菜单或单选按钮,然后使用值而不是多个href

这样,如果标准随着时间的推移变大,那么您的页面将不会被链接填充。


<强>脚注:

mysql_*函数弃用通知:

http://www.php.net/manual/en/intro.mysql.php

从PHP 5.5.0开始,不推荐使用此扩展,不建议用于编写新代码,因为将来会删除它。相反,应使用mysqliPDO_MySQL扩展名。在选择MySQL API时,另请参阅MySQL API Overview以获得进一步的帮助。

这些功能允许您访问MySQL数据库服务器。有关MySQL的更多信息,请访问»http://www.mysql.com/

可以在»http://dev.mysql.com/doc/找到MySQL的文档。


修改

结果与否:

if($query){

while ($rows = mysql_fetch_array($query)) {
    $id = $rows['id'];
    $photographer = $rows['photographer'];
    $carowner = $rows['car-owner'];
    $make = $rows['make'];
    $event = $rows['event'];
    $author = $rows['author'];
    $date = $rows['date'];

    echo "
    <article>
        <img src='uploads/$id.jpg'>
    </article>";
}
    }
    else{
    echo "No results.";
    }