2009-04-11 27 views

cevap

4
$get = mysql_query("..."); 
$previous = ''; 
while ($row = mysql_fetch_assoc($get)) { 
    $current = $row['...']; 
    if ($current == $previous) { 
    // do stuff 
} 
$previous = $current; 
} 

Bu örnek düzgün çalışmaz. Her zaman dizideki ilk kaydı atlar. $ $ ile ilk kez boş olacak, böylece $ current ve $ önceki eşit olmayacak. $ akımın, önceki gibi, ilk geçişi boşaltması gerekir. $ akımının if döngüsünün içinde eşit olması gerekir.

$get = mysql_query("..."); 
$previous = ''; 
$current = ''; 
while ($row = mysql_fetch_assoc($get)) { 

    if ($current == $previous) { 
    $current = $row['...']; 
    // do stuff 
    } 
$previous = $current; 
} 
+0

iyi bir çağrı, ben de neden ilk sırayı atlamayı sürdürdüğünü merak ettim. – prokaryote

18

Sadece saklayın:

$get = mysql_query("..."); 
$previous = ''; 
while ($row = mysql_fetch_assoc($get)) { 
    $current = $row['...']; 
    if ($current == $previous) { 
    // do stuff 
    } 
    $previous = $current; 
} 
+1

Teşekkür ederim Cletus. – dutraveller

İlgili konular