2012-12-03 45 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