2016-11-29 11 views
0

クエリの結果が1行だけになっています。私は3つの結果を得る必要がありますが、結果には1つの行しか表示されません。私は可能な限りコードを変更しようとしましたが、結果に1行以上表示されません。私のコードは以下の通りです。SQLクエリ返す結果の行が1つだけです

elseif($module=="winners") 
{ 

     $result = mysqli_query($conn,"SELECT * FROM `contest` WHERE showresult=1"); 
    if (mysqli_num_rows($result) > 0) { 

     $result = mysqli_query($conn,"select * FROM `contest_score` order by score desc, CAST(timequiz as DECIMAL(9,2)) ASC limit 0,3"); 
    if (mysqli_num_rows($result) > 0) { 

    $response["scores"] = array(); 

    while ($row = $result->fetch_assoc()) { 
      $scores = array(); 
      $scores["id"] = $row["id"]; 
      $scores["user_id"] = $row["user_id"]; 
      $scores["username"] = $row["username"]; 
      $scores["score"] = $row["score"]; 
      $scores["played_date"] = $row["played_date"]; 
      $scores["timequiz"] = $row["timequiz"]; 
      $user_id = $row["user_id"]; 
      $result = mysqli_query($conn,"SELECT user_image FROM `users` WHERE id=$user_id"); 
      $temp_row = mysqli_fetch_assoc($result); 

      $scores["user_image"] = $temp_row["user_image"]; 

      array_push($response["scores"], $scores); 
      } 
      $response["success"] = 1; 

    // echoing JSON response 
    echo json_encode($response); 

誰かが私の問題を解決するのに役立つかどうかを確認してください。

おかげ

+0

私はuがループにWHILE内ウルデータベース内のデータをエコーすべきだと思います。 –

+1

この* query *が1行しか返さないことをどうお知りしますか? –

答えて

0

は、これはそれとは何かを持っているかもしれません:あなたは、ループ内のあなたの$result変数を再作成しています。

$result = mysqli_query($conn,"SELECT user_image FROM 'users' WHERE id=$user_id");

+0

ビンゴ。変数の再利用 –

関連する問題