Php 从数据库中选择随机表
这是我的rss提要的rss.php文件我遇到的问题是-我一次只能从数据库中选择一个表,我知道连接,但我没有任何共同点,而且我希望它应该从数据库中选择随机表,然后获取其各自的标题、内容和摘要,是否有办法做到这一点,就像我们可以使用rand()函数(order by rand())一样,这样我就可以在select*查询中从数据库中获取随机表,这样我就可以从所有表中获得混合的rss提要Php 从数据库中选择随机表,php,mysql,rss,Php,Mysql,Rss,这是我的rss提要的rss.php文件我遇到的问题是-我一次只能从数据库中选择一个表,我知道连接,但我没有任何共同点,而且我希望它应该从数据库中选择随机表,然后获取其各自的标题、内容和摘要,是否有办法做到这一点,就像我们可以使用rand()函数(order by rand())一样,这样我就可以在select*查询中从数据库中获取随机表,这样我就可以从所有表中获得混合的rss提要 <?php function connect() { return new PD
<?php
function connect() {
return new PDO('mysql:host=localhost;dbname=jossicoa_writeups', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
}
$pdo = connect();
$sql = 'SELECT * FROM scienceandtechnology';
$query = $pdo->prepare($sql);
$query->execute();
$rs_post = $query->fetchAll();
// The XML structure
$data = '<?xml version="1.0" encoding="UTF-8" ?>';
$data .= '<rss version="2.0">';
$data .= '<channel>';
$data .= '<title>Jossips</title>';
$data .= '<link>http://www.google.com</link>';
$data .= '<description>various section</description>';
foreach ($rs_post as $row) {
$data .= '<item>';
$data .= '<title>'.$row['title'].'</title>';
$data .= '<link>'.$row['content'].'</link>';
$data .= '<description>'.$row['summary'].'</description>';
$data .= '</item>';
}
$data .= '</channel>';
$data .= '</rss> ';
header('Content-Type: application/xml');
echo $data;
?>
试试这样的方法
$myarray = array('tbl1','tbl2','tbl3','tbl4');
// get random value from array
$key = array_rand($myarray);
$table= $myarray[$key];
然后可以运行sql查询
select * from $table ...
快乐编码 最好的解决方案是为类别创建一个单独的表,并使用外键从包含所有内容的单个表进入该表。这样,您可以轻松地从categories表中选择一个随机行,并使用它从内容表中选择行。我认为您不需要从整个数据库中选择一个随机表。我想你那样会给自己制造麻烦的。在php中定义一个表列表,然后随机选取一个表并将其添加到查询中,怎么样?是的,可能是这样done@xdhmoorecould你能给我一个基本的想法吗that@Drewcould你告诉我会是什么样子done@xdhmoore$a=数组(“a”=>“红色”、“b”=>“绿色”、“c”=>“蓝色”、“d”=>“黄色”);选择*from(array_rand($a,1)这是您要说的吗?@xdhmooreBetter从信息模式中为您的database@John不一定。我肯定OP会从列表中排除其他表,例如用于登录的administrators表等。