2013-04-14 13 views
0

我有這個查詢拉附加到特定主題公園的遊樂設施列表,並顯示他們的細節和任何附加的照片(照片是從一個單獨的表格並通過'ride_id'連接)。下面是查詢查詢創建每個圖像附加到行每個循環的一個記錄

$park_id = $_GET['park_id']; 
$query2="SELECT * FROM `tpf_rides` LEFT JOIN tpf_images 
ON tpf_rides.ride_id=tpf_images.ride_id 
WHERE tpf_rides.park_id = $park_id AND `type` LIKE '%Roller Coaster%' ORDER BY `name` ASC"; 
$result2 = $pdo->query($query2); 

問題是,當我列出了從該查詢一騎,每個圖像創建重複行拉昇的結果。

什麼是想要的是:

Ride 1 - Type <br> 
Manufactured by xxx, Opened xxxx <br> 
image1 image2 

Ride 2 - Type <br> 
Manufactured by xxx, Opened xxxx <br> 
image1 image2 image3 

,但我現在已經是

Ride 1 - Type <br> 
    Manufactured by xxx, Opened xxxx <br> 
    image1 

Ride 1 - Type <br> 
    Manufactured by xxx, Opened xxxx <br> 
    image2 

Ride 2 - Type <br> 
    Manufactured by xxx, Opened xxxx <br> 
    image1 

下面是每個循環我使用。我需要改變查詢或循環才能正常工作?

<?php foreach ($result2 as $row2): ?> 

<h2 style="display:inline;"><?php echo $row2['name']; ?></h2><h3 style="display:inline;"> - <?php echo $row2['type']; ?></h3> 
<h3>Manufactured by <?php echo $row2['make']; ?>, Opened <?php echo $row2['opened']; ?> </h3> 
<img border="0" src="<?php echo $row2['url']; ?>" style="max-height:250px; max-width:250px;" > 

<br> 

<?php endforeach; ?> 

我仍然處於理解PHP和MySQL的早期階段,所以詳細的答案真的有幫助。謝謝。

+0

要解決該問題,請嘗試從MySQL工作臺直接啓動SQL並查看獲得的結果。如果您對所看到的內容感到滿意,則問題出在PHP代碼上。否則你必須修復你的查詢。當然,這不是你想要的答案,但這是我在處理前端和數據庫時如何調試我的問題。那麼你會回答你自己的問題。 –

+0

它看起來像它的查詢,如果我通過phpmyadmin運行它創建相同的乘法的多行,每個圖像與它相關聯。然後,我嘗試按'姓名'對結果進行分組,但這導致每次只有一個圖像出現。介於哪裏?有任何想法嗎? – themeparkfocus

回答

0

我已經在其他地方的幫助下解決了這個問題。如果它幫助其他人,這是實現它的代碼:

$sLastRide = ''; 
foreach ($result2 AS $row) 
{ 
    $sRide = $row['name'] . $row['type']; 
    if (strcasecmp($sRide, $sLastRide) != 0) 
    { 
     if (!empty($sLastRide)) 
     { 
      print('</div>' . PHP_EOL); 
     } 
     $sLastRide = $sRide; 
     print('<div>' . PHP_EOL); 
     printf('<h2 style="display:inline;">%s</h2><h3 style="display:inline;"> - %s</h3>' . PHP_EOL, $row['name'], $row['type']); 
     printf('<h3>Manufactured by %s, Opened %s</h3>' . PHP_EOL, $row['make'], $row['opened']); 
    } 
    printf('<img src="%s" style="max-height: 250px; max-width: 250px" alt=""/>' . PHP_EOL, $row['url']); 
} 
print('</div>'); 
相關問題