0

座席番号を表示する動的コンボボックスがあります。コンボボックスから選択した値を差し引く for ループがあります。

function display_seatNo() {
 $query = "SELECT * FROM table1 WHERE ID = 1";
 $result = mysql_query($query) or die("Failed to fetch records");
 $rows = mysql_fetch_array($result);
 $seatNo = $rows['SeatNo']; 
 $totalSeat = $rows['TotalSeats'];
 $seatReserved = $rows['SeatsReserved'];

 $remain = $totalSeat - $seatReserved; 

 $length = count($remain);
 for($i=1; $i<=$remain-1; $i++){
   echo "<option value=\"$i\" ";
   echo " $i";
   echo "> $i </option>";   
  }
}

<select name="cbSeatNo" id="cbSeatNo" class="cb1">
   <?php display_seatNo(); ?>
</select>

問題は、選択した値が消去されていないことです。例:- 座席番号 1 が予約されると、コンボボックスに表示されません。

4

3 に答える 3

1

結果セットをループする代わりに。

クエリを次のように変更することをお勧めします

* from table1 where seatReserved = false を選択します。

予約ごとに、seatsReserved 値を false に設定します。

于 2013-04-16T18:02:03.357 に答える
1

1 から $remain-1 までのすべての数値をループします。それは論理エラーです。例: 10 席あります。シート 3 が使用されます。1 から (10-1 = 9) までループします。シート 3 がリストに表示されます。

代わりに、カウントだけでなく、実際に利用可能な (または取得された) 座席をデータベースから取得する必要があります。

于 2013-04-16T17:02:13.473 に答える