Php 具有GET和PDO的多个记录

Php 具有GET和PDO的多个记录,php,pdo,Php,Pdo,试图找出如何在多个记录上执行此操作。我正在尝试,查看引用,但不了解如何使其工作,首先是我的代码: 循环中的My href链接 <a href="search.php?city=<?= $row['city'] ?>">city</a> 上面的内容只是提取通过我的第一个循环中的URL变量调用的city记录。如果要使用不同的URL变量重复多次,以从数据库生成不同的结果,该怎么办。所以,我不想像上面的代码那样只得到一条记录,我想再得到两条,下面是一个例子来说明我

试图找出如何在多个记录上执行此操作。我正在尝试,查看引用,但不了解如何使其工作,首先是我的代码:

循环中的My href链接

<a href="search.php?city=<?= $row['city'] ?>">city</a>

上面的内容只是提取通过我的第一个循环中的URL变量调用的
city
记录。如果要使用不同的URL变量重复多次,以从数据库生成不同的结果,该怎么办。所以,我不想像上面的代码那样只得到一条记录,我想再得到两条,下面是一个例子来说明我的意思

示例Href链接
循环
,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>

任何关于如何实现这一点的建议都将不胜感激,如果有更简单的方法来实现这一点,或者我当前的代码不符合要求,请让我知道。谢谢

我认为您希望将url放入一个数组中,以便以后可以使用它们?如果是这样,您可以这样做:

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 }

我希望这能有所帮助?

你需要更详细地解释你需要什么。@david嘿,david,如果你看到我上面的例子,你应该明白了。对不起,如果很难理解,英语是我的第二语言。基本上,我想得到多个URL变量,但我似乎只能得到一个(见第一个示例)。最后一个例子是,在我的脑海中,我是如何假设的。“多次进入isset”等@davidstrachan添加了更多内容以更好地解释自己^嘿,伙计,谢谢你花时间帮我。我希望模仿第一个示例(我发布的第一段代码),只需添加额外的字段(姓名、国家)。我的第一个例子是有效的,只是添加这些额外的2对我来说不起作用。我尝试了你的代码,但没有成功。有什么建议吗?嗨,我对你想做什么有点困惑。你想要一个url的列表吗?你要找的实际最终产品是什么?不知道你要去哪里。但是谢谢。
if (isset($_GET['city'])||isset($_GET['name'])||isset($_GET['country'])) {

       echo $city= $_GET['city'];

       echo $name=$_GET['name'];

       echo $country $_GET['country'];
       }
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 }
if (isset($_GET['city'])||isset($_GET['name'])||isset($_GET['country'])) {

       echo $city= $_GET['city'];

       echo $name=$_GET['name'];

       echo $country $_GET['country'];
       }