1

データベース内のテーブルの情報をループで表示しようとしていますが、特定の情報については、他のテーブルを参照しています。他のテーブルからデータを取得しようとすると、後続のデータがすべて表示されなくなります。これが私が使用しているコードです:

`

    //Below is the SQL query
    $listing = mysql_query("SELECT * FROM Musicians");

    //This is displaying the results of the SQL query
    while($row = mysql_fetch_array($listing))
        {




 ?>
...html here...

 <? echo $row['name']; ?>
 <? echo $row['Town']; ?>

    <?

    $CountyRef = $row['CountyId'];

    $county = mysql_query("SELECT * FROM County WHERE CouInt='$CountyRef'");



    while($row = mysql_fetch_array($county))
        {        
           echo $row['CouName'];

        }

    ?>

       <?php echo $row['instrument']; ?>

       <?php echo $row['style']; ?>`

私の問題は、2番目以降のすべてのwhileループが表示されないことです。誰か提案がありますか?

ありがとう

4

3 に答える 3

1

2番目のループはと言うべき$row2です。$row上書きされています。両方の変数には、互いに異なる名前を付ける必要があります。

于 2013-03-26T19:00:33.617 に答える
0

1つのクエリでそれを達成できます。

SELECT *,
(SELECT CouName FROM County WHERE CouInt=mus.CountyId) as Country
FROM Musicians mus;

最終的なコードは次のようになります。

<?php
$listing = mysql_query("SELECT *,
(SELECT CouName FROM County WHERE CouInt=mus.CountyId) as Country
FROM Musicians mus;");

//This is displaying the results of the SQL query
while($row = mysql_fetch_assoc($listing))
{


echo $row['name']; 
echo $row['Town']; 
echo $row['Country']; //Thats all folks xD 
echo $row['instrument'];
echo $row['style']; 


 }   ?>

Saludos;)

于 2013-03-26T19:01:37.410 に答える
0

そしてそれ?:

while($row2 = mysql_fetch_array($county)) {        
       echo $row2['CouName'];
}
于 2013-03-26T19:02:38.903 に答える