2017-10-23 21 views
0

Noob alert here。私は私のインターンシップの仕事でそれを必要とするので、PHPを教えるだけです(私はしようとしています)。今私はアンケートを作成しています。私はwhileループを使用して質問とその回答を私のXAMPPに表示しようとしています。 Iこのコードを使用しています:ループが1回後に停止しているとき

<?php 

    mysqli_select_db($conn, "surveyordina"); 
    //code hier schrijven 

    $sql = "SELECT questions_body FROM survey_questions where subthema_id = 1"; 
    $sql2 = "SELECT answer_body FROM survey_answers where answer_id = 1 or answer_id = 2 or answer_id = 3"; 
    $result = mysqli_query($conn, $sql); 
    $result2 = mysqli_query($conn, $sql2); 



    if(mysqli_num_rows($result2) > 0){ 
     while($row = mysqli_fetch_assoc($result)) { 
        echo "<br>" ."Vraag: <br>" . $row["questions_body"]. "<br>"; 

       while($row_answer = mysqli_fetch_assoc($result2)) { 
           echo $row_answer["answer_body"]. "<br>"; 
          } 
         } 
    } 

    else{ 
     echo "No results"; 
    } 

は今、このコードの返しの部分は次のようになります。

Vraag: 
Is the organization aware of where all the personal data is stored? Be it on-site or in the cloud, hosted by the company or by a third party? 
Yes 
No 
I don't know 

Vraag: 
Is the organization able to locate and find personal data of a particular data subject? 

Vraag: 
Does the organization have technology in place to return all personal data on a given data subject, given a single search from personnel? 

Vraag: 
testerino kekkerino 

私ははいありませんを取得しようとしていますし、 私は各質問の下で部分を知りませんが、質問の1つの下でそれを取得するようです。

各質問の下で回答部分全体を返す方法はありますか?もしそうなら、私は正しい道にいるのですか、まったく間違っていることは何ですか?

ありがとうございます。

+0

しばらく試し '(mysqli_num_rows($結果2)> 0)&&($行= mysqli_fetch_assoc($結果)'代わりにしばらくの場合は別々に持つのも...あなたの質問と一緒にデータベースから1つ以上の結果を得ようとしていると確信していますか? –

答えて

0

結果セットの最後に達すると、mysqli_fetch_assoc()はサイクリングを続けるだけではありません。したがって、最初の外側ループ内に設定された$result2の終わりに当たっています。それで、フェッチする結果はもうありません。

あなたは、$resultループの外側$result2結果の全てを取得し、変数にその結果を割り当て、その後をループ$resultループ内配列ことべきです。

何かのように:。

if(mysqli_num_rows($result2) > 0){ 

    $result2Set = mysqli_fetch_all($result2, MYSQLI_ASSOC); 

    while($row = mysqli_fetch_assoc($result)) { 
     echo "<br>" ."Vraag: <br>" . $row["questions_body"]. "<br>"; 

     foreach($result2Set as $row_answer) { 
      echo $row_answer["answer_body"]. "<br>"; 
     } 
    } 
} 
+0

これはすばらしかったです!情報をありがとう、今度は私のPHPの旅で続けることができます! –

関連する問題