2016-08-31 23 views
1

私は既に、ユーザーが予約している乗客の数に応じてフォームの選択入力を表示するwhileループを持っています。各ドロップダウンは、データベース内の列からすべてのデータを表示することになっていました。問題は、最初のドロップがダウン私はカウントを開始するために使用される現在の飛行whileループを使用しているデータベースからの値を複数のhtmlドロップダウン

$result = mysqli_query($conn,"select * from flight_seat_status where flight_number = '$_SESSION[departure]'"); 

変数の航空会社のIDを取得するためのクエリ30

席1

である私がフェッチされたデータを表示するということです問題

echo "<h1 class='adminContent_h1'>Please choose a seat</h1>"; 
    while($print <= $_SESSION['passengers']){ 
    echo "<label style = 'width:170px;'>". $_SESSION['firstname'][$name]."'s Seat</label>"; 
    echo "<select class = 'content_dropdown' style = 'width:15%; margin-bottom:20px;' name = 'passengers[]'>"; 
    while($row = mysqli_fetch_assoc($result)){ 
    echo "<option value='".$row['seat_id']."'>".$row['seat_number']."</option>"; 
     } 
    echo "</select><br>"; 
     $print++; 
     $name++; 
    } 

それでループwhileループ

$print = 1; $name = 0; 

マイユーザーに応じていくつかのドロップダウンを印刷できますが、最初のドロップダウンだけがデータを含みます。

私のコードに間違いがありますか?説明してください

+0

あなたは余分な配列のデータベースからデータを格納する必要があり、結果を使用するために0に戻ってポインタを設定する必要があります。 mysqli_fetch_assoc()は_once_でのみ反復できます。 – bwoebi

+1

bwoebiさんの権利。次のようにしてください: '$ arr = array(); {$ i = 0; $ i ';} ' – cthefinal

+0

よろしくお願いします。 – TheAsker101

答えて

0

あなたが再び

// set the pointer back to the beginning 
    mysqli_data_seek($result, 0); 
    while($row = mysqli_fetch_assoc($result)){ 
    // do whatever here... 
    } 
+0

もっと感謝して私の行を保存しました。ありがとう – TheAsker101

0

以下のコードを使用してください。パッセンジャーループの外で一度フェッチして別の配列に格納しなければならないすべてのシートのレコードは、毎回パッセージループ内でシート配列を使用する必要があります。

echo "<h1 class='adminContent_h1'>Please choose a seat</h1>"; 
$seats = []; 
while($row = mysqli_fetch_assoc($result)){ 
    $seats[] = $row; 
} 
while($print <= $_SESSION['passengers']){ 
    echo "<label style = 'width:170px;'>". $_SESSION['firstname'][$name]."'s Seat</label>"; 
    echo "<select class = 'content_dropdown' style = 'width:15%; margin-bottom:20px;' name = 'passengers[]'>"; 
    foreach($seats as $res_seat){ 
     echo "<option value='".$res_seat['seat_id']."'>".$res_seat['seat_number']."</option>"; 
    } 
    echo "</select><br>"; 
    $print++; 
    $name++; 
} 
関連する問題