0

所以我有一些数字在我的 MySQL 数据库中取名为“id”。我试过这段代码:

while($row = mysql_fetch_array($result))     
{
$id=$row['id'];
$user = $row['usrname'];
$fname = $row['fname'];
$lname = $row['lname'];
echo "<strong>User:</strong> ".$user." ".$fname." ".$lname."<br/>";
echo min($id);
} 

在最后一行,我尝试回显 id 的最小值,但没有成功。有什么建议么?

答案:使用“ASC LIMIT 1”

    while($row = mysql_fetch_assoc($sql)){    
$id=$row['id'];     
$user = $row['usrname'];     
$fname = $row['fname'];     
$lname = $row['lname'];
echo "<strong>User:</strong> ".$user." ".$fname." ".$lname."<br/>";     
echo $id; 
}
4

4 回答 4

6
$sql = mysql_query("SELECT * FROM users ORDER BY id ASC LIMIT 1");

while($row = mysql_fetch_assoc($sql))     
{
    $id=$row['id'];
    $user = $row['usrname'];
    $fname = $row['fname'];
    $lname = $row['lname'];

    echo "<strong>User:</strong> ".$user." ".$fname." ".$lname."<br/>";
    echo $id;
} 
于 2011-04-06T01:33:39.070 回答
2

尝试这个:

$sql = 'SELECT min(id) as min FROM users';
$query = mysql_query($sql);
$row = mysql_fetch_assoc($query);
$min_id = $row['min'];
于 2011-04-06T01:41:05.647 回答
0

如果您无法更改查询顺序(按名称排序?),您可以使用辅助变量确定最低的 $id:

 $min = isset($min) ? min($min, $id) : $id;

然后print $min;在你的循环之后。

于 2011-04-06T01:36:14.343 回答
0

如果不能MIN()在 MySQL 中使用,试试这个...

$smallestId = -PHP_INT_MAX;

while($row = mysql_fetch_assoc($sql)) {
   ...
   $smallestId = min($smallestId, $id);
}

如果你从来没有任何否定的 id(你不应该),你可以更改-PHP_INT_MAX0.

于 2011-04-06T01:36:57.433 回答