Php 使用数据库中的值作为索引的多维数组。localhost的输出与webhost不同
前几天我问了这个问题: 我听了他们的回答,把输入放在一个数组中。我只在多维数组中添加了数组,以便可以轻松地操作值。我使用值的主键作为索引。一切都按计划进行了。但是当我将代码放在我们的webhost(philwebhosting)中时,数组输出是不同的。主键索引不起作用,而是使用从0-5开始的默认索引。现在我的代码不再工作了Php 使用数据库中的值作为索引的多维数组。localhost的输出与webhost不同,php,arrays,multidimensional-array,mysqli,Php,Arrays,Multidimensional Array,Mysqli,前几天我问了这个问题: 我听了他们的回答,把输入放在一个数组中。我只在多维数组中添加了数组,以便可以轻松地操作值。我使用值的主键作为索引。一切都按计划进行了。但是当我将代码放在我们的webhost(philwebhosting)中时,数组输出是不同的。主键索引不起作用,而是使用从0-5开始的默认索引。现在我的代码不再工作了 <form method="POST" action="custInfo.php"> <center><input type="sub
<form method="POST" action="custInfo.php">
<center><input type="submit" id="btn" name="room"></center>
$query = mysqli_query($conn, "SELECT room_name, room_type, room_rate, inclusive, description, room_status, max_cap
FROM room
WHERE room_status = 'available'");
if($res = mysqli_query($conn, $query)){
while($row = mysqli_fetch_assoc($res)){
if($row['available_rooms'] != 0){
echo "<div class='chooseRoom'>";
echo "<div class='indent'>";
echo "<h4>".$row['room_type']."</h4>";
echo "<h5>".$row['room_rate']."php</h5>";
echo "<img src='../images/".$row['room_type'].".jpg' width=250 height=160>";
/*unfinished choosing of room type*/
echo "<h5><input type='checkbox' name='roomType[".$row['roomDetailsNo']."][]' value='".$row['roomDetailsNo']."'> Choose this Room";
/*unfinished number of rooms*/
echo " Number of Rooms: ";
echo "<select name='noOfRooms[".$row['roomDetailsNo']."][]'>";
$ctr1 = 0;
while($ctr1 <= $row['available_rooms']){
echo "<option>";
echo $ctr1;
echo "</option>";
$ctr1++;
}
echo "</select><br>";
/*Number of Guests*/
echo "<br>Number of Adult: ";
echo "<select name='adult[".$row['roomDetailsNo']."][]'>";
$ctr2 = 0;
while($ctr2 <= $row['max_cap']){
echo "<option>";
echo $ctr2;
echo "</option>";
$ctr2++;
}
echo "</select>";
echo " Number of Children: ";
echo "<select name='children[".$row['roomDetailsNo']."][]'>";
echo "<option>0</option>";
echo "<option>1</option>";
echo "<option>2</option>";
echo "<option>3</option>";
echo "<option>4</option>";
echo "<option>5</option>";
echo "</select><br>";
echo "</h5>";
echo "<table class='table'>";
echo "<thead>";
echo "<th>Inclusive</th><th>Description</th>";
echo "</thead>";
echo "<tbody>";
echo "<td>".$row['inclusive']."</td><td>".$row['description']."</td>";
echo "</tbody>";
echo "<tfoot>";
echo "<td colspan='2'>";
echo $row['room_status'];
echo "</td>";
echo "</tfoot>";
echo "</table>";
echo "</div>";
echo "</div>";
}
else{
echo "No rooms available in the date you desire!";
}
}
}
else{
die("ERROR: ".mysqli_error($conn));
}
</form>
顺便说一句,我将此代码添加到下一页,因为我的代码应该添加我在localhost中获得的儿童数量和成人数量的值。请显示生成的表单html如何将$number变量设置为$row['roomDetailsNo']因为您没有从db中选择roomDetailsNo?很好,请点击@Jiboulex抱歉。忘记删除$number变量。这是我第一次尝试创建代码的一部分。这是生成的表单。请显示为表单生成的html。如果不从db中选择roomDetailsNo,如何使用$row['roomDetailsNo']设置$number变量?很好,请点击@Jiboulex抱歉。忘记删除$number变量。这是我第一次尝试创建代码的一部分。这是生成的表单
echo "<pre>";
print_r($_POST);
echo "</pre>";
$query = ("SELECT COUNT(rooms.roomDetailsNo) AS available_rooms, roomDetails.roomDetailsNo, roomDetails.room_type, roomDetails.room_rate, rooms.room_status, roomDetails.room_pax, roomDetails.max_cap
FROM rooms
LEFT JOIN roomDetails
ON roomDetails.roomDetailsNo = rooms.roomDetailsNo
WHERE room_status = 'available'
GROUP BY room_type;");
$adult = 0;
$children = 0;
$noOfRooms = 0;
if($res = mysqli_query($conn, $query)){
while($row = mysqli_fetch_assoc($res)){
$adult += $_POST['adult'][$row['roomDetailsNo']][0];
$children += $_POST['children'][$row['roomDetailsNo']][0];
$noOfRooms += $_POST['noOfRooms'][$row['roomDetailsNo']][0];
}
}
$_SESSION['adult'] = $adult;
$_SESSION['children'] = $children;
$_SESSION['noOfRooms'] = $noOfRooms;