试图弄清楚如何在多条记录上执行此操作。我正在尝试一些事情,查看参考但不了解如何使其工作,首先在这里这是我的代码有效:
我在loop
中的href链接。
<a href="search.php?city=<?= $row['city'] ?>">city</a>
我的PHP
if (isset($_GET['city'])) {
$city = $_GET['city'];
$stmt = $db->prepare("SELECT * from table WHERE city = ? ");
$stmt->execute(array($city));
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) : //loop starts
} else { //html content }
上面简单地在我的第一个循环中拉取通过URL变量调用的city
条记录。如果想要使用不同的URL变量多次重复此操作以从数据库生成不同的结果。因此,不仅仅是像我上面的代码那样得到一条记录,我想再得到2条,这里是我的意思的下面一个例子。
示例Href链接loop
中的URL变量city,name country:
<a href="search.php?city=<?= $row['city'] ?>">city</a>
<a href="search.php?name=<?= $row['name'] ?>">name</a>
<a href="search.php?country=<?= $row['country'] ?>">country</a>
PHP的示例不起作用,但获取这些URL变量并通过SELECT将它们传递给mysql,希望你得到我的意思):
if (isset($_GET['city'], $_GET['name'], $_GET['country'])) {
$city = $_GET['city'];
$name = $_GET['name'];
$country = $_GET['country'];
$stmt = $db->prepare("SELECT * from table WHERE city = ? OR name = ? OR country = ?");
$stmt->execute(array($city, $name, $country));
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) : //loop starts
} else { //html content }
任何关于如何实现这一点的建议都会受到赞赏,如果有更简单的方法可以做到这一点,或者我目前的代码还没有达到标准,请告诉我。谢谢!
答案 0 :(得分:2)
if (isset($_GET['city'])||isset($_GET['name'])||isset($_GET['country'])) {
echo $city= $_GET['city'];
echo $name=$_GET['name'];
echo $country $_GET['country'];
}
答案 1 :(得分:0)
我认为您希望将网址放入数组中,以便以后可以使用它们?如果是这样,你可以这样做:
if (isset($_GET['city'], $_GET['name'], $_GET['country'])) {
$city = $_GET['city'];
$name = $_GET['name'];
$country = $_GET['country'];
//added:
$url_array = array();
$stmt = $db->prepare("SELECT * from table WHERE city = ? OR name = ? OR country = ?");
$stmt->execute(array($city, $name, $country));
//$row changed to $rows
while($rows = $stmt->fetch(PDO::FETCH_ASSOC)) : //loop starts
//foreach added
foreach($rows as $row){
$url_array[] = $row;
}
} else { //html content }
我希望有帮助吗?