2013-07-30 35 views
1

請原諒我,如果我這樣做是錯誤的方式,我沒有太多的PHP開發經驗。我需要從兩個表中拉入一個循環,並匹配數據

我需要在網頁上列出一些房地產列表,這很容易,但我遇到麻煩的是試圖將它們與適當的圖像進行匹配。圖像存儲在我的服務器上,我將文件路徑保存在一張表中,並將所有屬性信息存儲在另一張表中。

這就是我現在所擁有的作品類型,除了它顯示每個列表兩次。一旦用了一次事先知情同意..我知道必須有一個更好的方法,然後這個..

<?php 
    $sql="SELECT * FROM $tbl_name, documents_main WHERE show_listing='1' and user_type='1'"; 
    $result=mysql_query($sql); 

    // Start looping rows in mysql database. 
    while($rows=mysql_fetch_array($result)){ 
    $payment = $rows['price'] * .09/12; 
    $path = $rows['path']; 
    $id = $rows['id']; 
    $note_id = $rows['note_id']; 
?> 

<div class="row clearfix"> 
    <div style="width: 120px; float: left;"> 

<?php 
    if($note_id == $id){ 
    echo "<img src='$path'>"; 
    } else { 
    echo ""; 
    } 
?> 

    </div> 
    <div style="float: left;"> 
<? echo $rows['prop_city']; ?>, $<? echo $rows['price']; ?>$<? echo round($payment); ?> 
    </div> 
</div> 

<? 
// close while loop 
} 
?> 

我可以張貼表,如果這是有幫助的。

+1

看看使用你的表聯接。 –

+1

所以現在你正在做兩個表之間的笛卡爾連接,你能談談兩個表之間的關係是什麼(即哪個列將一個表與另一個表相關聯),以便可以指定連接條件? –

+2

[**請不要在新代碼中使用'mysql_ *'函數**](http://bit.ly/phpmsql)。他們不再被維護[並被正式棄用](https://wiki.php.net/rfc/mysql_deprecation)。看到[**紅框**](http://j.mp/Te9zIL)?學習[*準備的語句*](http://j.mp/T9hLWi),並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [這篇文章](http://j.mp/QEx8IB)將幫助你決定哪個。如果你選擇PDO,[這裏是一個很好的教程](http://j.mp/PoWehJ)。 –

回答

0

如果您使用在查詢兩個表,應該有第二個表一旦你確定行鏈接到行的第一列

該領域的專欄,寫這樣的查詢:

$sql="SELECT * FROM $tbl_name, documents_main WHERE show_listing='1' and user_type='1' and $tbl_name.FIELD_TO_BE_DEFINED = documents_main.ANOTHER_FIELD_TO_BE_DEFINED"; 

或者:

$sql="SELECT * FROM $tbl_name inner join documents_main on $tbl_name.FIELD_TO_BE_DEFINED = documents_main.ANOTHER_FIELD_TO_BE_DEFINED WHERE show_listing='1' and user_type='1'"; 
+1

這工作!不過,我會回顧我的代碼並清理它。 –

相關問題