Mysql_fetch_array döngüsü için veri işaretçisi geçerli konumunu almak için basit yolu?

3 Cevap

20 satır döndürülen bir SELECT sorgusu bir $ sonuç göz önüne alındığında, döngü ne açıklama sugggests gerçekleştirmek için basit yolu nedir?

while ($row = mysql_fetch_assoc($result))
{
    // echo "success" when i get to the 9th row
}

3 Cevap

Sen 9. satır varsa mysql_data_seek() kontrol etmek için kullanabilirsiniz:

if(mysql_data_seek($result, 8) !== false) {
    // success, internal pointer is now at 9
    // still need to call mysql_fetch to get the row
}

ama kendinizi sayma iç gösterici Kısa alınamıyor. Döngüsü kullanarak bunu biraz Sessizleştirme tutar:

for($i = 0; $row = mysql_fetch_assoc($result); $i++) {
    if($i == 8) // success
}
$i = 0; // Or 1 if need be
while ($row = mysql_fetch_assoc($result))
{
    // echo "success" when i get to the 9th row
   if($i == 9) {
      echo "success";
   }
   $i++;
}

veya

while ($row = mysql_fetch_array($result, MYSQL_NUM))
{
  if($row[8] != '') {
   echo "success"; 
  }
}

veya

while ($row = mysql_fetch_assoc($result))
{
  if($row['column_name_of_the_ninth_field'] != '') {
   echo "success"; 
  }
}

diğer yanıtlar zaten ayrıntılı yöntemler bunu yapmak için tüm geçerli yolu vardır.

ne gerçekten yapmak için aradığınız bir döngü üzerinden gitmek zorunda kalmadan 9. sonucu iç işaretçiyi taşımak için ise, o zaman bu sizin için arıyor olabilir budur:

if ( mysql_data_seek ($result,9) ) echo "success";