dptsivmg82908 2013-10-05 20:24
浏览 163
已采纳

2 while循环在php - mysql select语句中

I have 2 tables in DB:

clients (Show all clients data)

clientsmany (admin could add many phone numbers for each client)

I would like to print all the details about the clients in 1 html table and if any client has more than phone number, all the numbers are printed in the same cell of 'td'

<?php
$result = mysql_query("SELECT * FROM clients");
$result1 = mysql_query("SELECT clientsmany.phone, clients.ID FROM clients INNER JOIN clientsmany ON clients.ID=clientsmany.ClientID");

while($row = mysql_fetch_array($result)){ //Not read!
    while($row1 = mysql_fetch_array($result1)){ //Working correctly and show the list of 'phone' in $row1 for clientsmany.phone
echo "<center><table border='1'>";
echo "<tr><td>".$row['ID']."</td><td>".$row['phone']."<br>".$row1['phone']."</td></tr>";
echo "</table></center>";
}}
?>

Why the 1st while is not working??

The 2nd while only works and print a correct data then it exit automatic!

  • 写回答

3条回答 默认 最新

  • dongyou2305 2013-10-06 11:24
    关注
    <?php
    echo "<center><table border='1'>";
    $result = mysql_query("SELECT * FROM clients");
     while($row = mysql_fetch_array($result)){
     $result1 = mysql_query("SELECT * FROM clientsmany WHERE clientsid=".$row['id']);
     if(mysql_num_rows($result1)>0 ){
     while($row1 = mysql_fetch_array($result1)){
     echo "<tr><td>".$row['ID']."</td><td>".$row['phone']."<br>".$row1['phone']."</td>       </tr>";
    }
    }else{
     echo "<tr><td>".$row['ID']."</td><td>".$row['phone']."</td></tr>";
    }
    }
    echo "</table></center>";
    ?>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)
编辑
预览

报告相同问题?