2016-03-31 25 views
0

Bu kod çalışıyor ama sadece yarı yolda, geri dönüş sırasında ihtiyaç duyduğum tüm bilgileri iade edebilir, JSON dizisinden biri iki kez döndürülür, neden bu? Neden olduğunu anlayamıyorum.php ve mysql sorunu ile birlikte sorgu geri dönüşü

Tek ihtiyacım ikinci ve üçüncü olan ama nedense ben iki kez ilk çıkışı neden bilmiyorum: Bu sonuç

$rows = mysql_num_rows($res); 
$array = array(); 
$i = 0; 
while($row = mysql_fetch_array($res, MYSQL_NUM)) { 
    $array[$i] = (int)$row[0] . "\n"; 
    $i++; 
    if ($i > $rows){ 
     break; 
    } 
} 

$JsonArray = array(); 

for($i = 0; $i < $rows; $i++){ 

    $q = "SELECT firstName, lastName, email from $mysql_database.$UsersTable WHERE idUser = $array[$i]"; 
    $res = mysql_query($q, $connect) or die(mysql_error()); 
    while($row = mysql_fetch_assoc($res)){ 
     $new_array[] = $row; // Inside while loop 
    } 
    $JsonArray[$i] = $new_array;     
} 

echo json_encode($JsonArray); 

:

İşte benim kodudur. Ayrıca, sonucu JsonArray'da daha iyi nasıl biçimlendirebilirim?

+1

'print_r ($ JsonArray)' – mseifert

+1

sonucunu gösterebilir. Lütfen göndermeden önce kodunuzu biçimlendirin. – Jamie

cevap

0

Yapmaya çalıştığınızı gördüğünüzden, sonuç kümenizi sorgu için veritabanından almaya çalışıyorsunuz.

Tüm bu döngülerden faydalanmanız gerekmez. Yapmanız gereken tek şey şudur:

Her satır için döngü sırasında buna ihtiyacınız yoktur.

+0

Merhaba, ama yine de aynı çıkışı yaşıyorum – Aboogie

+0

Bu satırdan sonra $ new_array = mysqli_fetch_assoc ($ res); Bu kodu ekleyin: mysqli_free_result ($ res); Çalışırsa söyle –