从数据库中随机选择 table
selecting random table from database
这是我的 rss feed rss.php 文件 我遇到的问题是 - 我一次只能 select 来自数据库的一个 table,我知道连接但我没有任何共同点,而且我希望它应该 select 从数据库中随机 table 然后获取其各自的标题,内容和摘要,有没有办法做到这一点,就像我们可以使用 rand() 函数(按 rand() 排序)这样的东西,这样我就可以从 select * query.So 中的数据库中随机获取 table 这样我就可以混合所有的 rss 提要tables.
<?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 ...
最好的解决方案是为类别创建一个单独的 table,并使用来自包含所有内容的单个 table 的外键进入 table。这样您就可以轻松 select 类别 table 中的随机行,并将其用于内容 table.
中的 select 行
这是我的 rss feed rss.php 文件 我遇到的问题是 - 我一次只能 select 来自数据库的一个 table,我知道连接但我没有任何共同点,而且我希望它应该 select 从数据库中随机 table 然后获取其各自的标题,内容和摘要,有没有办法做到这一点,就像我们可以使用 rand() 函数(按 rand() 排序)这样的东西,这样我就可以从 select * query.So 中的数据库中随机获取 table 这样我就可以混合所有的 rss 提要tables.
<?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 ...
最好的解决方案是为类别创建一个单独的 table,并使用来自包含所有内容的单个 table 的外键进入 table。这样您就可以轻松 select 类别 table 中的随机行,并将其用于内容 table.
中的 select 行