簡體   English   中英

MySQL左聯接以顯示一個表的值,但存儲在第二個表中

[英]MySQL left join to display one table's values but store in second table

我正在建立一個房地產網站,並創建了一個頁面來創建一個新的房地產。 當我要編輯它時,我很難顯示期望的結果。

相關詳細信息:屬性表具有一個開發人員字段,該字段是來自開發人員表的ID。 屬性創建頁面上有一個下拉列表,用於選擇顯示給用戶的字符串(從開發人員表中獲取),但ID存儲在開發人員字段中

當我想設置一個編輯頁面時,我需要顯示當前表的值,但允許像以前一樣選擇。

我已經嘗試過了,但是它沒有顯示當前表的值,並且由於在兩個表中都使用了developer和id列,我使用“ as”創建了一個縮短的唯一形式。

<?php
$qry=mysql_query("SELECT Distinct a.id as a_id,a.developer as a_dev,b.developer as b_dev FROM developer  a left join property b on b.developer=a.id", $con);
if(!$qry)
{
    die("Query Failed: ". mysql_error());
}
?>
<div class="title">Select a  <?php echo $title2 ?> : </div>
<div class="description">
<select name="field2" id="field2">
<option value=""></option>
<?php
// First, define the desired default value
$default_value = $row['b_dev'];
while($row=mysql_fetch_array($qry))
{
    // Then you can mark that one as selected in your "while" loop
    $selected = ($row['b_dev'] == $default_value) ? ' selected' : '';
    echo "<option value='" . $row['a_id'] . "'" . $selected . ">" . $row['a_dev'] . "</option>";
}
?>

選擇下拉列表工作正常,但當前未顯示b_dev的字段值。 我也嘗試使用變量,但是沒有顯示存儲的值。 還有一點需要注意的是,b.developer中存儲的值是一個數字,顯示的值必須是與b.developer = a.id匹配的字符串,因此我們只能看到字符串,而不是整數。

我已經提供了相關的詳細信息,如果有人需要更多詳細信息,請在評論中提及,我會盡力提供。

PS:是的,我知道我應該使用MySQLi或PDO,但是一旦結構和后端完成,我將對其進行轉換。

什么是$default_value = $row['b_dev']; 具體來說,您的情況下$row是多少? 我假設$ row在循環之前未分配。

您需要將$default_value設置$default_value當前值,您需要將其作為單獨的查詢從數據庫中獲取。

顯然,我必須重寫我的sql,才能使用左聯接同時接收所有信息。 它適用於我嘗試過的一些東西。

$qry_main=mysql_query("SELECT a.id, name, description, b.developer as pdev, c.agent as pagent ,g.country as pcountry,f.city as pcity, d.area as parea, size, furnished, h.type as ptype, finished, bed, bath, pool, featured, price,delivery from property a left join developer b on a.developer_id=b.id left join agent c on a.agent_id=c.id left join area d on a.area_id=d.id left join type h on a.type_id=h.id left join city f on d.city_id=f.id left join country g on f.country_id=g.id where a.id='$id'",$con);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM