php - 使用 php 和 mysqli 在特定表行中显示数据时遇到问题
问题描述
您好,我在特定表格列中显示预订房间日期时遇到问题。所以预期的结果在第一个图像image1上,但我在第二个图像imagw2上得到结果。我附上下面的代码以寻求帮助。我已经用 php、html 和 bootstrap 编写了我的代码。我想要的结果是当页面加载时,它会在与日期匹配的列上显示给定房间的保留日期,如果房间没有被保留,则该列保持空白。
<!-- language: lang-php -->
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>
</head>
<body>
<?php
$con = mysqli_connect('localhost','root','','reservations');
$startingDay = date('Y-m-d', strtotime("first sunday of this month -6 days"));
$numberOfDays = 35;
$dates = array();
$weekCounter = 1;
$meetingRow = '';
$meetingRow .= '<div class="container">';
$meetingRow .= '<table class="table" border="1" cellpadding="2" cellspacing="2">';
$meetingRow .= '<tbody>';
for ($i = 0; $i <= $numberOfDays - 1; $i++) {
$date = date('m/j/Y', strtotime("$startingDay +$i days"));
$dates[] = $date;
if (date('l', strtotime($date)) == "Monday") {
$meetingRow .= '<tr><td colspan="8"></td></tr>';
$meetingRow .= '<tr>';
$meetingRow .= '<th>Week ' . $weekCounter++ . '</th>';
}
$meetingRow .= '<th>';
$meetingRow .= '<p>' . $date. '</p>';
$meetingRow .= '<p>' . date('l', strtotime($date)). '</p>';
$meetingRow .= '</th>';
if (date('l', strtotime($date)) == "Sunday") {
$meeting_room_sql = "SELECT id , meeting_room_name FROM meeting_room";
$meeting_room_result = mysqli_query($con, $meeting_room_sql);
// you are to use $meeting_room_result not $meeting_room_sql error occurs in fetching from meeting_room
while ($meeting_room_row = mysqli_fetch_assoc($meeting_room_result)) {
$meeting_room_id = $meeting_room_row['id'];
$meeting_room_name = $meeting_room_row['meeting_room_name'];
$meetingRow .= '<tr>
<td>
<div>' . htmlentities($meeting_room_name, ENT_QUOTES, "UTF-8") . '</div>
<button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#meetingModal">Reserve</button>
</td>';
$reserved_sql = "SELECT meeting_room_id, reserved_date FROM meeting WHERE meeting_room_id = {$meeting_room_row["id"]}";
$reserved_result = mysqli_query($con, $reserved_sql);
$total_number_of_rows = 7;//As we have 7 days in a week so we have 7 days column
$RowCounter = 0;
while ($reserved_row = mysqli_fetch_assoc($reserved_result)) {
$RowCounter++;
$reserved_room_id = $reserved_row['meeting_room_id'];
$reserved_date = $reserved_row['reserved_date'];
if ($reserved_room_id == $meeting_room_id) {
$meetingRow .= '<td>' . htmlentities('Meeting Reserved ' . date('m/j/Y', strtotime($reserved_date)), ENT_QUOTES, "UTF-8"). '</td>';
} else {
$meetingRow .= '<td><br /></td>';
}
}
while ($RowCounter < $total_number_of_rows){
$meetingRow .= '<td><br /></td>';
$RowCounter++;
}
$meetingRow .= '<tr>';
}
$meetingRow .= '</tr>';
}
}
$meetingRow .= '</tbody>';
$meetingRow .= '</table>';
$meetingRow .= '</div>';
echo $meetingRow;
?>
</body>
</html>
解决方案
推荐阅读
- authentication - 有没有办法在服务器端验证用户的蜡/EOS 钱包而不进行任何区块链交易?
- typescript - 元素隐式具有“任何”类型,因为类型的表达式
- css - 如何使用额外的 CSS 更改 Wordpress 中单个图像的不透明度?
- c# - 如何在 Azure 通信服务聊天中附加文件?
- javascript - 检查日期是否从开始日期开始超过 24 小时
- flutter - 可以扩展一些类并在 build() 中使用它吗?
- laravel - Laravel 中重叠的工作
- python - python 请求澄清 TypeError: unhashable type: 'list'
- android - 降低 Android 中的 Firebase 实时数据库 SSL 成本
- c - 当我的代码在 c 中执行 printf() 时出现分段错误