2012-11-29 34 views
0

我有一個小問題。我有一個數據庫中的兩個表:MySQL,PHP內部連接和在不同表格中顯示結果html

[place]      [client] 

id  country     id  name  id_place 
--------------     ------------------------ 
1  Canada     1  Mike  1 
2  USA      2  Susan 1 
3  China     3  Juan  3 
           4  Nelly 2 
           5  Kevin 3 

使用SQL查詢:

SELECT 
    place.country, cliente.name 
FROM 
    place, client 
INNER JOIN 
    client ON place.id = client.id_place 

,我使用顯示結果:

while ($list = mysql_fetch_array($query)) 
{ 
    echo $list['contry']." | ".$list['name']; 
} 

而且結果是:

Canada | Mike 
Canada | Susan 
USA | Nelly 
China | Juan 
China | Kevin 

到目前爲止好。我的問題是我想要顯示的結果如下:

<h1> Canada: <h1> 
<h3> -Mike <h3> 
<h3> -Susan <h3> 

<h1> USA: <h1> 
<h3> -Nelly <h3> 

<h1> China: <h1> 
<h3> -Juan <h3> 
<h3> -Kevin <h3> 

我該怎麼做?請幫助我...謝謝!

回答

1

這應該工作:

$h1 = NULL; 

while ($list = mysql_fetch_array($query)) { 
    if($h1 <> $list['contry']) { 
     echo "<h1>" . $list['contry'] . ":</h1>\n"; 

     $h1 = $list['country']; 
    } 

    echo "<h3>- " . $list['name'] . "</h3>\n"; 
} 

$h1被初始化爲NULL。循環開始時,它會檢查$h1是否等於$list['country']。如果不是,它將輸出國家的標題並將它們設置爲等同的,以便不重複。

您也應該停止使用mysql_的功能,因爲它們是being deprecated並且使用mysqli_PDO來代替。

+0

完美!這就是我想要的!謝謝!!!! –

相關問題