在浏览器中多次显示价格

时间:2013-04-04 11:43:28

标签: php mysqli

我在数据库中有3餐。当我显示我的查询时,它显示3个价格。 如何仅显示一个结果?

$result = mysqli_query($con, "SELECT meal, price FROM Meals");

while  ($row = $result->fetch_assoc())  {
    echo '<input name="price" type="text" value="'.$row['price'].'" />';
}

4 个答案:

答案 0 :(得分:3)

您需要使用MySQL LIMIT子句。

$result = mysqli_query($con, "SELECT meal, price FROM Meals LIMIT 1");

来自MySQL manual

  

使用一个参数,该值指定要返回的行数   从结果集的开头。

     

使用两个参数,第一个参数指定的偏移量   第一行返回,第二行指定最大数量   要返回的行。

答案 1 :(得分:1)

正确的查询将是

$result = mysqli_query($con, "SELECT meal, price FROM Meals GROUP BY meal HAVING meal = "mealname" ");

答案 2 :(得分:-1)

如果您想显示三个中的任何一个,请使用

$result = mysqli_query($con, "SELECT meal, price FROM Meals LIMIT 1");
 if  ($row = $result->fetch_assoc())  {
        echo '<input name="price" type="text" value="'.$row['price'].'" />';
       }

如果要显示特定的一个,请在查询中使用id或任何主键。 像

$result = mysqli_query($con, "SELECT meal, price FROM Meals WHERE id='your id or primary key value' LIMIT 1");
 if  ($row = $result->fetch_assoc())  {
        echo '<input name="price" type="text" value="'.$row['price'].'" />';
       }

简而言之,根据您想要的结果使用您的查询。

答案 3 :(得分:-1)

使用此查询显示一餐的一个价格。 $result = mysqli_query($con, "SELECT meal, price FROM Meals WHERE meal = "mealname" "); while ($row = $result->fetch_assoc()) { echo '<input name="price" type="text" value="'.$row['price'].'" />'; }