2011-03-23 9 views
7

Bu kod, bir mysql tablosuna bağlanır ve boş/boş alanları yazdırır. Ancak bu field "dob" on entry "1" is empty/nullphp dizileri: yalnızca dizi değerlerinin nasıl yazdırılacağı, ancak anahtarların nasıl yazdırılacağı

i bunu doğru alırsanız bilmiyorum
$sql = "SELECT * FROM userinfo"; 
$res = mysql_query($sql); 
while ($row = mysql_fetch_array($res)) { 
    foreach($row as $key => $field) { 
     if(empty($field)) { 
      $emptyFields[] = sprintf('Field "%s" on entry "%d" is empty/null', $key, $row['userid']); 
     } 
    } 
} 
print_r($emptyFields); 
+0

@Belinda: düzenleme için teşekkürler – karto

cevap

9
echo implode('<br>', $emptyFields); 
+0

yazdırır, iyi çalıştı. "11" girişinde "4" alanı yazdırılır boş/null "11" girişindeki "Adres" alanı boş/boş. Hepsi aynı. "11" girişinde "4" yazdırma alanından nasıl kaçınıyorum boş/boş. – karto

+0

Neye ihtiyacın var anlamıyorum. Tamsayı tuşlarını atlamak istiyorsun, doğru muyum? Sadece kullanın 'if (! Is_integer ($ anahtar) VE boş ($ alan))'. – biakaveron

+0

çok teşekkürler. Çalıştı. :-) – karto

0
$sql = "SELECT * FROM userinfo"; 
$res = mysql_query($sql); 
while ($row = mysql_fetch_array($res)) { 
    foreach($row as $key => $field) { 
    if(empty($field)) { 
     $emptyFields[] = sprintf('Field "%s" on entry "%d" is empty/null', $key, $row['userid']); 
    } 
    } 
} 
0

gibi bir şey yazdırırım Bu nasıl

Array ( 
    [0] => Field "dob" on entry "1" is empty/null 
    [1] => Field "user_name" on entry "7" is empty/null 
) 

gibi dizi değerlerini ve anahtarlarını basar ama çözüm düşünüyorum senin sorunun:

değişim son satırı için:

$emptyFields[] = sprintf('Field "%s" on entry "%d" is empty/null', $field, $row['userid']);}}}print_r($emptyFields); 
1

Bunun nedeni, bu diziyi çıkarmak için print_r kullanıyorsunuzdur. Böylece çıktı, insanlar için okunabilir şekilde biçimlendirildi. o alanla önceki gibi daha güzel içinden yineleme deneyin yapmak için:

foreach($emptyFields as $key => $field) { 
echo('Field "'.$field.'" on entry "'.$emptyField['userid'].'" is empty/null'); 
} 
+0

teşekkürler. Çalışır. – karto

İlgili konular