所有表格均未显示 Rss 提要
Rss feed not showing from all the tables
我将这个 rss.php 文件用于 rss 提要,但问题是它只显示来自 2 table 的提要,并非所有 4.Where 都是问题?提要即将到来仅来自名人和经济与政治 table。
<?php
function connect() {
return new PDO('mysql:host=localhost;dbname=wg','root','', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
}
$pdo = connect();
$myarray = array('scienceandtechnology','economicsandpolitics','famouspeople','yetosbkistoryhe');
$key = array_rand($myarray);
$table= $myarray[$key];
$sql = "SELECT * FROM ".$table."";
$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>google</title>';
$data .= '<link>http://www.google.com</link>';
$data .= '<description>io</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;
?>
如果我理解正确,可能会对你有所帮助,
$pdo = connect();
$myarray = array('scienceandtechnology','economicsandpolitics','famouspeople','yetosbkistoryhe');
foreach ($myarray as $table) {
$sql = "SELECT * FROM ".$table."";
$query = $pdo->prepare($sql);
$query->execute();
$rs_post = $query->fetchAll();
foreach ($rs_post as $post) {
// echo something
}
}
你在这里从 table 名称静态使用它我有几乎相同类型的问题但在我的情况下 table 名称也是动态的所以根据你的相关性使用它
$sql = mysql_query("select name from sections order by rand()");
$datadisplay = array();
while ($row= mysql_fetch_assoc($sql)){
$section=$row['name'];
$sqldata = mysql_query("select title,summary from ".$section." order by ID limit 2");
while ($rowdata= mysql_fetch_assoc($sqldata)){
$datadisplay[] = $rowdata;
}
}
所以我在这里做的是从部分中获取 table 名称,然后使用这些 table 名称从 table 中获取数据,然后将该数据存储到另一个数组中然后可以用来获取 rss 数据
我将这个 rss.php 文件用于 rss 提要,但问题是它只显示来自 2 table 的提要,并非所有 4.Where 都是问题?提要即将到来仅来自名人和经济与政治 table。
<?php
function connect() {
return new PDO('mysql:host=localhost;dbname=wg','root','', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
}
$pdo = connect();
$myarray = array('scienceandtechnology','economicsandpolitics','famouspeople','yetosbkistoryhe');
$key = array_rand($myarray);
$table= $myarray[$key];
$sql = "SELECT * FROM ".$table."";
$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>google</title>';
$data .= '<link>http://www.google.com</link>';
$data .= '<description>io</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;
?>
如果我理解正确,可能会对你有所帮助,
$pdo = connect();
$myarray = array('scienceandtechnology','economicsandpolitics','famouspeople','yetosbkistoryhe');
foreach ($myarray as $table) {
$sql = "SELECT * FROM ".$table."";
$query = $pdo->prepare($sql);
$query->execute();
$rs_post = $query->fetchAll();
foreach ($rs_post as $post) {
// echo something
}
}
你在这里从 table 名称静态使用它我有几乎相同类型的问题但在我的情况下 table 名称也是动态的所以根据你的相关性使用它
$sql = mysql_query("select name from sections order by rand()");
$datadisplay = array();
while ($row= mysql_fetch_assoc($sql)){
$section=$row['name'];
$sqldata = mysql_query("select title,summary from ".$section." order by ID limit 2");
while ($rowdata= mysql_fetch_assoc($sqldata)){
$datadisplay[] = $rowdata;
}
}
所以我在这里做的是从部分中获取 table 名称,然后使用这些 table 名称从 table 中获取数据,然后将该数据存储到另一个数组中然后可以用来获取 rss 数据