如何从while循环中的两个不同表中回显userName和user2name

时间:2016-08-03 08:56:12

标签: php

Look at this fb screenshot 1st upper part has userName and the 2nd half part has pageName so i want same query我有两个表user,其中包含字段userName,另一个表page包含字段pageUserName,所以我从数据库中选择这两个表在while循环中,但是我想在同一个循环中回显这两个名字,我们在FB中一个接一个地循环它们是userName以及新闻Feed中的页面名称我该怎么做????

    <?php  
    $sql=mysql_query("SELECT * FROM user LEFT JOIN page ON user.userID=page.userID") ;
    while($row=mysql_fetch_assoc());
    {
    //For First Loop It Should Be UserName
    echo $row['userName']; 

   //For 2nd Loop It Should Be pageUserName
    echo $row['pageUserName']; 

    } ?>

这是代码但是echo一起打印我想要userName的另一个echo和另一个一个接一个的pageUserName而不是一起

4 个答案:

答案 0 :(得分:0)

试试这样:

<?php
$sql = mysql_query("SELECT * FROM user LEFT JOIN page ON user.userID=page.userID");

while ($row = mysql_fetch_assoc()) {
    echo $row['userName'] . " " . $row['pageUserName'] . "<br>";
}
?>

注意

你不应该在每一行中使用open / end php标记。

您可以将字符串与.字符连接起来,如我的示例所示。

警告

mysql_*函数已弃用,请改用mysqli_*或PDO。

<强>更新

根据原始问题中的OP编辑,我想我得到了他想要的东西。当您遍历结果时,而不是echo将它们放入2个数组中。

然后遍历它们。我为此编写了一个名为showNames的小函数,因此您可以避免代码重复。

function showNames($array) {
    foreach ($array as $item) {
        echo $item."<br>";
    }
}

//Init arrays
$userNames = [];
$pageUserNames = [];

while ($row = mysql_fetch_assoc()) {
    //Put values into the 2 arrays
    $userNames[] = $row['userName'];
    $pageUserNames[] = $row['pageUserName'];
}

//Show the items of arrays
showNames($userNames);
echo '<hr>';
showNames($pageUserNames);

答案 1 :(得分:0)

<?php  
$sql=mysql_query("SELECT * FROM user LEFT JOIN page ON user.userID=page.userID") ;

while($row=mysql_fetch_assoc());
{
    echo $row['userName']." ".$row['pageUserName']."<br />";
} 
?>

答案 2 :(得分:0)

内部循环如下所示:

<?php echo $row['userName']. " - ". $row['pageUserName']."<br>" ?>

答案 3 :(得分:0)

你是说这个?

<?php  
  $sql=mysql_query("SELECT * FROM user LEFT JOIN page ON user.userID=page.userID") ;
  while($row=mysql_fetch_assoc())
  {
    echo $row['userName'] . ' ' . $row['pageUserName'];
  }
?>