我想知道如何从多个表中选择查询来显示和排序,然后全部按数据排序,然后限制为一个数字(如果我输入 LIMIT 5,只显示最近添加的数据 5 查询从最近不是最后一个的所有表中添加其中一个表中的 5 个,因为我想像新闻栏一样制作) 我有 5 个具有相同结构(id、title、descriere、poza、data)的表(类别),我只想显示其中的最后 5 个。
//create connection to mysql
$db_conx_index = mysqli_connect($servername, $username, $password, $dbname);
$db_conx_index->set_charset('utf8');// pentru diacritice
if(!$db_conx_index){
die("Connection failed: ". mysqli_connect_error());
}
$catArray = array("istorie", "lifestyle", "sciente", "travel", "nature");
$slider = '';
foreach($catArray as $k=>$v)
{
$sql = "SELECT id, titlu, data, linknews, poza FROM ".$v." WHERE approved='1' ORDER BY data DESC LIMIT 5";
$query = mysqli_query($db_conx_index, $sql);
while($row = mysqli_fetch_array($query, MYSQLI_ASSOC)){
$id = $row["id"];
$titlu = $row["titlu"];
$linknews = $row["linknews"];
$poza = $row["poza"];
$slider .= '<a href="/'.$linknews.'"><img src="/images/'.$poza.'-600x.jpg" alt="'.$titlu.'"></a>';
}
}
?>
<?php echo $slider;?>
<?php mysqli_close($db_conx_index);?>
但是代码向我显示了每个表的最后 5 个查询并相互排序然后是第二个表..并且想要在不计算第一个表的情况下进行排序....
最佳答案
忘记 foreach
循环。
"SELECT id, titlu, data, linknews, poza FROM istorie, lifestyle, sciente, travel, nature WHERE approved='1' ORDER BY data DESC LIMIT 5"
关于php - 如何显示来自所有表(相同结构)的查询并按数据排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37005327/