2011-04-06 2 views
0

그래서 MySQL 데이터베이스에서 "id"라는 이름을 사용하는 숫자가 있습니다. 이 코드를 시도 :MySQL 데이터베이스에서 PHP의 최소값을 얻으시겠습니까?

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; 
} 
+0

또한 쿼리를 보여주세요 최소한의 'id'와 관련된 필드 만 원합니까? –

+0

감사합니다. 나는 너를 frickin 천재 사랑해! –

답변

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; 
} 
+0

"ASC LIMIT"의 의미를 묻는다면 어떨까요? –

+0

@Ken : 'ASC'는 '오름차순 정렬'을 의미하고 'LIMIT 1'은 '최대 1 행 선택'을 의미합니다. –

+0

감사! 이제부터 나는이 행에서 내가 원하는 것을 다 할 수있다! 너희들은 락 : D +1 –

0

, 당신은 도우미 변수를 사용하여 가장 낮은 $ ID를 확인할 수 있습니다 :

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

그리고 나서 print $min;을 반복하십시오. 당신이 (당신은 안) 어떤 부정적인 ID를가 없을 경우

0

이 시도, MySQL의에서 MIN()을 사용할 수없는 경우에는 ...

$smallestId = -PHP_INT_MAX; 

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

, 당신은 단지 0-PHP_INT_MAX을 변경할 수 있습니다.

2

이 시도 :

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