从MySQL数据库中获取PHP的最小值?

时间:2011-04-06 01:30:32

标签: php mysql min

所以我的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 个答案:

答案 0 :(得分: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;
} 

答案 1 :(得分:2)

试试这个:

$sql = 'SELECT min(id) as min FROM users';
$query = mysql_query($sql);
$row = mysql_fetch_assoc($query);
$min_id = $row['min'];

答案 2 :(得分:0)

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

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

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

答案 3 :(得分:0)

如果无法在MySQL中使用MIN(),请尝试此操作...

$smallestId = -PHP_INT_MAX;

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

如果您从未有任何负面ID(您不应该),则可以将-PHP_INT_MAX更改为0