Php 如何从SQL显示标题和URL

Php 如何从SQL显示标题和URL,php,mysql,sql,random,Php,Mysql,Sql,Random,我希望有人能帮我解决这个难题 我有以下代码: <?php $user = 'myuser'; $pass = 'mypass'; try{ $dbh = new PDO('mysql:host=localhost;dbname=mybase', $user, $pass); foreach($dbh->query('SELECT title FROM ads_listing') as $title);

我希望有人能帮我解决这个难题

我有以下代码:

<?php
    
    $user = 'myuser';
    $pass = 'mypass';
    
    try{
        $dbh = new PDO('mysql:host=localhost;dbname=mybase', $user, $pass);
        foreach($dbh->query('SELECT title FROM ads_listing') as $title);
        foreach($dbh->query('SELECT slug FROM ads_listing') as $slug){
        print_r($slug);
        print_r($title);
        }
    
        $dbh = null;
    } catch (PDOException $e){
        print "ERROR!:" . $e->getMessage() . "<br/>";
        die();
    }
    ?>
我们的目标是从我的表中显示10个随机标题作为URL,其中包含slug,如:


我该怎么做呢?

您只需要在查询中使用
LIMIT
RAND()

SELECT title, slug FROM ads_listing ORDER BY RAND() LIMIT 10
然后使用此查询和函数
fetch_assoc()
将结果生成关联数组类型:

<?php
$query = "SELECT title, slug FROM ads_listing ORDER BY RAND() LIMIT 10";
$result = $connection -> query($query);
while($row = $result -> fetch_assoc()){
    // you can use $row which has been read from table randomly
    ...
}
?>


在前面的代码中,
$connection
是从
PDO
类获得的连接。显然,您不必完全按照我写的那样使用,但我建议您使用一个。

从纯粹的角度来看,这里发生了很多事情,但我认为有两件事阻碍您解决这个问题:

  • 您不能在单个查询中获取数据
  • 您不能在单个循环中循环数据
假设
$dbh->query()
返回关联数组,您可以执行以下操作:

$user='myuser';
$pass='mypass';
试一试{
$dbh=newpdo($mysql:host=localhost;dbname=mybase',$user,$pass);
}捕获(PDO$e){
打印“错误!:”$e->getMessage()。“
”; 模具(); } $ads=$dbh->query('SELECT title,slug FROM ads_listing'); foreach($ads作为$ads){ $title=$ad['title']; $slug=$ad['slug']; }
<?php
$query = "SELECT title, slug FROM ads_listing ORDER BY RAND() LIMIT 10";
$result = $connection -> query($query);
while($row = $result -> fetch_assoc()){
    // you can use $row which has been read from table randomly
    ...
}
?>