Php 为两个表声明$row

Php 为两个表声明$row,php,html,mysql,Php,Html,Mysql,我想将两个表中的数据回显到一个变量中。以下是我目前掌握的代码: $sqlCommand = "SELECT * FROM News ORDER BY id DESC LIMIT 10"; $sqlCommand3 = "SELECT * FROM Users ORDER BY id"; $query = mysql_query($sqlCommand) or die(mysql_error()); $query3 = mysql_query($sqlCommand3) or die(mys

我想将两个表中的数据回显到一个变量中。以下是我目前掌握的代码:

$sqlCommand = "SELECT * FROM News ORDER BY id DESC LIMIT 10"; 
$sqlCommand3 = "SELECT * FROM Users ORDER BY id"; 

$query = mysql_query($sqlCommand) or die(mysql_error());
$query3 = mysql_query($sqlCommand3) or die(mysql_error());

$count = mysql_num_rows($query);
if($count > 1) {
    $News .= "";

    // How do I add the query3 here?? along side the already existing one
    while($row = mysql_fetch_array($query)) {

        // some of the $row here are from query one and some are from query 3
        $News .= "<a href=\"news?id=".$row['id']."\"><div class=\"news-post\"> <img src=\"".$row['author']."\"><p>".$row['author']."</p>  <h2>".$row['title']."</h2></div></a>";
    } // close while
$sqlCommand=“按id DESC LIMIT 10从新闻订单中选择*”;
$sqlCommand3=“按id从用户订单中选择*”;
$query=mysql\u query($sqlCommand)或die(mysql\u error());
$query3=mysql\u query($sqlCommand3)或die(mysql\u error());
$count=mysql\u num\u行($query);
如果($count>1){
$News.=”;
//我如何在这里添加查询3??与现有的查询一起添加
while($row=mysql\u fetch\u array($query)){
//这里的$行中有些来自查询1,有些来自查询3
$News.=”;
}//正在关闭

这不是正确的方法,请尝试使用。在这种情况下,您将需要唯一的
完全外部联接

SELECT * FROM News
FULL OUTER JOIN USERS
ON News.id = Users.id
WHERE News.id IS NULL
OR Users.id IS NULL;
这将为您提供包含两个表中所有列的所有行。根据实际关系,您可能需要某种不同类型的联接(请参阅前面的链接)…但这似乎是您在示例中尝试实现的


警告:您正在使用的扩展名已被删除。请使用或。

您的用户表应通过oneToMany关联链接到新闻表。 因此,用户编写新闻,用户编写新新闻。 您需要在SQL查询中添加联接

$sql = 'SELECT u.username, n.* FROM News n JOIN User u ON n.user_id = u.id';
然后,您只需执行一条SQL语句并在HTML中显示结果


请注意这一点。

这两个表相关吗?如果相关,您是否考虑过使用联接查询?唯一需要注意的是,要找到一个联接查询。有时可能会很困难,因为它们在SEO中排名很高。