2012-12-03 75 views
0

讀取多國外的資料後,我已經做到了這一點: -PHP + MySQL的 - 回聲變量從表

$qry=mysql_query("SELECT client.resID, menu.name FROM client INNER JOIN menu ON 
    client.resID = menu.resID WHERE client.resID = $resID"); 

    $row=mysql_fetch_array($qry); 

    echo $row['name']; 

} 

?> 
<form action="client_admin_post.php" method="post" enctype="multipart/form-data" name="form1" id="form1"> 


<p>Services &nbsp;&nbsp;: 
<label for="cat"></label> 
<input type="text" name="name" id="name" value="<?php echo $row['name']; ?>" /> 
</p> 


<p align="center"> 
<input type="submit" name="Submit" id="Submit" value="Submit" /> 
</p> 
</form> 

我建立一個PHP的形式,從MySQL表獲取數據。它用於編輯MySQL表中的數據。現在的問題是,比方說,餐館裏有很多菜單。因此,在這種情況下,'menus'MysQL表中有許多行與相同的restaurantID(pk)相同。我需要將所有菜單取到5個字段。通過此代碼,我只能獲取菜單。我怎麼能這樣做?

謝謝:d 謝謝

回答

0

你只需要循環的結果集。像這樣的東西應該工作

$names = array(); //array to store all names 

while ($row = mysql_fetch_array($qry)) { // loop as long as there are more results 
    $names[] = $row['name']; // push to the array 
} 

print_r($names); // $names array now contains all names 
0

我刪除了id,所以沒有重複的ID。如果你的名字輸入確實需要一個id,最好爲每個循環添加一個增量變量。例如「NAME1」, 「NAME2」,等等

<form action="client_admin_post.php" method="post" enctype="multipart/form-data" name="form1" id="form1"> 
    <?php 
    $qry = mysql_query("SELECT client.resID, menu.name FROM client INNER JOIN menu ON client.resID = menu.resID WHERE client.resID = $resID"); 

    while($row = mysql_fetch_assoc($qry)) 
    { 
     ?> 
     <p> 
      Services &nbsp;&nbsp;: 
      <label for="cat"></label> 
      <input type="text" name="name" value="<?php echo $row['name']; ?>" /> 
     </p> 
     <?php 
    } 
    ?> 
    <p align="center"> 
     <input type="submit" name="Submit" id="Submit" value="Submit" /> 
    </p> 
</form> 
+0

我得到這個警告:mysql_fetch_assoc()預計參數1是資源,布爾在在線/home/makanman/public_html/nonhalal/client_admin.php給出35在嘗試代碼之後。這是while($ row = mysql_fetch_assoc($ qry))行。對不起,要求太多,但我不知道它是如何工作的。非常感謝:D – user1822825

+0

嘗試通過將sql從「mysql_query」函數中取出並將其置於其自身的變量中來打印出sql查詢。例如' $ sql =「SELECT client.resID,menu.name FROM client INNER JOIN menu ON client.resID = menu.resID WHERE client.resID = $ resID」',然後使用'print($ sql);'查看查詢是否打印如預期那樣。如果是這樣,那麼嘗試手動複製並粘貼到你的數據庫,看看你是否得到結果或錯誤。 – Novocaine