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
...
}
?>