如何从MySQL(在PHP中)获取最低值并获取与其一起使用的名称(或ID)?

时间:2015-09-11 11:27:48

标签: php mysql

我有以下结构:

id,name,product,price

现在,我想知道如何从价格中获得最低价值 - 并且 - 获得属于价格的名称。这是一个例子:

0,seller1,cake,5
1,seller2,cake,2.50

显然卖家2的价格最低。但我需要得到这个价格 - 以及属于该价格的名称 - 并以PHP格式显示。 像这样:

echo $seller . " sells " . $product . " for " . $price . ".";

我希望我已经足够清楚。

亲切的问候,

希勒布兰德

2 个答案:

答案 0 :(得分:0)

也许

$table = mysql_query("SELECT name, price FROM table ORDER BY price ASC LIMIT 1");
while($y = mysql_fetch_object($table))
{ 
    echo $y->name;
}

答案 1 :(得分:0)

SQL选择您需要的内容:

SELECT name, product, price FROM `table` ORDER BY price LIMIT 1

(请注意,您没有提供表名,因此您需要使用正确的名称替换table。)

然后,您可以使用mysqli_stmt_fetch来获取结果:

$stmt = $mysqli->prepare("SELECT name, product, price FROM `table` ORDER BY price LIMIT 1");

$stmt->execute();

$stmt->bind_result($seller, $product, $price);

$stmt->fetch();

echo $seller . ' sells ' . $product . ' for ' . $price . '.';

请注意,这只会选择价格最低的第一款产品。如果您有两个或更多具有最低价格的项目(例如0),您可能需要考虑如何表现这种行为。它应该全部展示吗?是否应该有其他字段来表示优先权?