Birden PHP WHILE aynı sorguyu kullanarak döngüler

3 Cevap php
$query1 = "SELECT * FROM idevaff_affiliates";
$affiliateID = mysql_query($query1) or die(mysql_error());

Bu, yukarıda benim sorgu - Ben iki İKEN döngüler için kullanmak istiyorum

Jquery kurma - İlki başlık bölümünde olduğu

while($row = mysql_fetch_assoc($affiliateID)){
}

İkinci vücutta bir süre döngü kullanılır

while($row = mysql_fetch_assoc($affiliateID)){
}

Neden işe almak değil mi? - Ben bu çalışma yaptım ama iki farklı değişken kullanılarak aynı SELECT bilgi kullanarak iki sorgu yapmak zorunda kaldı.

3 Cevap

mysql_fetch_assoc() sonraki satırı alır (yani, zaten almadıysanız sonraki bir) çağırıyor. Tüm satırları alınan ettik, o döner false. Her zaman o ilk döngü üzerinden kazanılmış bir kez Yani, have tüm satırları alınan ve geri alırsınız tüm isimli false!

Nasıl bir dizideki tüm koyarak hakkında, iki kez aynı verileri yeniden gerekiyorsa?

$rows = array();
while($row = mysql_fetch_assoc($affiliateID)){ 
    $rows[] = $row;
}

Istediğiniz gibi Şimdi $rows olarak birçok kez yinelemek:

foreach($rows as $row) { ... }

Eğer bir kez set sonucu ile çalıştırmak kez, sonuçlar iç işaretçi sonunda olduğundan bu çalışmaz. Bunu kullanmak için yine sonuç kümesinin başına iç işaretçi sıfırlamak için ikinci döngü önce mysql_data_seek kullanmanız gerekir.

Sen ben bir dizide sonucu yüklemek için tercih, (0 $ affiliateID), şimdi yine tekrar ... () mysql_fetch_assoc yapabilirsiniz mysql_data_seek kullanarak ... ilk satırı isteyebilir.