【发布时间】:2014-10-03 21:24:08
【问题描述】:
所以我正在制作这个系统,您可以在其中预订座位,但是当我检查座位是否已经预订时,它搞砸了(意味着我对循环太糟糕了)。我的数据库中有 3 个测试用户,它与用户数量一样多地呼应座位。它甚至可以正确地为预留座位着色。
$sql = "SELECT * FROM users";
$result = mysql_query($sql);
$list = array();
while($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$reserved = $row["seat"];
$list[] = $reserved;
}
echo '<div id="top-section">';
for($i = 0; $i < 44; $i++) {
$seatCount++;
foreach($list as $obj) {
if($seatCount == $obj) {
echo '<div id="seat_'.$seatCount.'" class="seat reserved">'.$seatCount.'</div>';
}
else {
echo '<div id="seat_'.$seatCount.'" class="seat available" onclick="selectSeat('.$seatCount.');">'.$seatCount.'</div>';
}
}
}
echo '</div>';
结果是这样的:http://i.gyazo.com/d10e787cea7028b46c716ac41766456a.png(我有三个座位,只在顶部完成了循环,所以不要介意 45 - 68,因为它们是正确的)。我怎样才能让它只发布一次座位?
【问题讨论】:
-
请don't use
mysql_*functions。 它们不再被维护并且是officially deprecated。看到red box?请改为了解 prepared statements,并使用 PDO 或 MySQLi。 This article 将帮助您决定哪个。 -
为什么需要
$seatCount这个变量,和$i不一样吗? -
我在后面的代码中需要它,因为就像我说我有 3 个座位 div 并且我也在后面的 2 个 div 上使用它。