我有可以簡化下降到這樣的事情一個MySQL表:使用的foreach()與多維數組
animal breed
Cat Persian
Cat Siamese
Dog Alsatian
Dog Poodle
我想顯示這種形式的信息:
<table>
<tr>
<td class="heading">Cat</td>
</tr>
<tr>
<td class="body">Persian</td>
<td class="body">Siamese</td>
</tr>
<tr>
<td class="heading">Dog</td>
</tr>
<tr>
<td class="body">Alsatian</td>
<td class="body">Poodle</td>
</tr>
</table>
到目前爲止,我有這樣一個查詢:
$query = "SELECT * FROM aa_animal";
$result = mysql_query($query, $MySQL_extranet) or die(mysql_error());
while($row = mysql_fetch_assoc($result)){
$resultarray[] = $row;
}
然後,我想我需要一對嵌套的foreach()循環,b這是多維數組的處理,讓我絕望地失去了。
foreach("unique_animal") {
<tr>
<td class-"heading">$animal</td>
</tr>
if ($animal=="unique_animal") {
foreach("row") {
<tr>
<td class-"body">$breed</td>
</tr>
}
}
我該如何操作$ resultarray來獲取$ animal,$ breed等的正確值?
迄今進展
如上所述Justin的答覆提供的解決問題的辦法。然而,真實生活頁面在數據庫表中有更多的列。這是我最初給出的簡單示例和我嘗試創建的頁面之間的中途文件的代碼。
<?php
$countryid='spain';
// MySQL query to select hotels and display all the hotel info
$query = "SELECT hid, hotel, pricefrom, place, region, country, picture, property, prop2, rooms, summary, lat, lng, zoomloc, breakfast, searchparam, specialoffer, biz_model, ta_rating, bc_rating FROM ex_hotel WHERE country LIKE '%$countryid%' AND showhide = 'show' ORDER BY orderr DESC";
$result = mysql_query($query, $MySQL_extranet) or die(mysql_error());
while($row = mysql_fetch_assoc($result)) {
if (isset($resultarray[$row['region']])) {
$resultarray[$row['region']][] = $row['hotel'];
}else{
$resultarray[$row['region']] = array($row['hotel']);
}
}
ksort($resultarray);
?>
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>
<body>
<table width="500" border="1" cellspacing=" 4" cellpadding="4">
<?php foreach($resultarray as $region => $hotel)
{
echo '<tr><td colspan="2" style="background-color:#ddd">'.$region.'</td></tr>';
foreach($hotel as $value) {
echo '<tr><td width="250px">'.$value.'</td>';
}
foreach($hid as $value2) {
echo '<td>'.$value2.'</td></tr>';
}
}?>
</table>
</body>
</html>
mySQL查詢中的所有這些值都需要在表中使用,但是如何獲取它們?
第一件事,我相信你應該看看'foreach'語法:http://nl3.php.net/manual/en/control- structures.foreach.php。 – lucke84
你也應該考慮訂購/分組查詢結果,如果你想先顯示所有的貓,然後所有的狗等 – lucke84