Javascript 在PHP中获取JSON值
这里我将Javascript 在PHP中获取JSON值,javascript,php,arrays,json,ajax,Javascript,Php,Arrays,Json,Ajax,这里我将doctor schedule存储在HTML表中,格式如下JSON。 它成功地将以下内容存储在数据库中: [{“星期一开始”:“上午9点”,“星期一结束”:“上午10点”},{“星期二开始”:“上午10点”,“星期二结束”:“上午11点”},{“星期三开始”:“选择日期”,“星期三结束”:“选择日期”},{“星期四开始”:“选择日期”,“星期四结束”:“选择日期”},{“星期五开始”:“选择日期”,“星期五结束”:“选择日期”},{“星期六开始”:“选择日期”,“星期六结束”:“选择日期
doctor schedule
存储在HTML表中
,格式如下JSON
。
它成功地将以下内容存储在数据库中:
[{“星期一开始”:“上午9点”,“星期一结束”:“上午10点”},{“星期二开始”:“上午10点”,“星期二结束”:“上午11点”},{“星期三开始”:“选择日期”,“星期三结束”:“选择日期”},{“星期四开始”:“选择日期”,“星期四结束”:“选择日期”},{“星期五开始”:“选择日期”,“星期五结束”:“选择日期”},{“星期六开始”:“选择日期”,“星期六结束”:“选择日期”},{“星期日开始”:“选择日期”,“星期日结束”:“选择日期”}]
以下是HTML代码:
<table class="table table-striped mb-0">
<thead>
<tr>
<th>Days</th>
<th>Time (From)</th>
<th>Time (To)</th>
</tr>
</thead>
<tbody id="rows">
<tr>
<td>MonDay</td>
<td>
<div class="col-md-12">
<div class="form-group">
<select class="select" id="mon_start" name="mon_start">
<option value="Select Date">Select</option>
<option value="09.00 A.M">09.00 A.M</option>
<option value="10.00 A.M">10.00 A.M</option>
<option value="11.00 A.M">11.00 A.M</option>
<option value="12.00 P.M">12.00 P.M</option>
<option value="Not Available">Not Available</option>
</select>
</div>
</div>
</td>
<td> <div class="col-md-12">
<div class="form-group">
<select class="select" id="mon_end" name="mon_end">
<option value="Select Date">Select</option>
<option value="09.00 A.M">09.00 A.M</option>
<option value="10.00 A.M">10.00 A.M</option>
<option value="11.00 A.M">11.00 A.M</option>
<option value="12.00 P.M">12.00 P.M</option>
<option value="Not Available">Not Available</option>
</select>
</div>
</div>
</td>
</tr>
<tr>
<td>TuesDay</td>
<td>
<div class="col-md-12">
<div class="form-group">
<select class="select" id="tues_start" name="tues_start">
<option value="Select Date">Select</option>
<option value="09.00 A.M">09.00 A.M</option>
<option value="10.00 A.M">10.00 A.M</option>
<option value="11.00 A.M">11.00 A.M</option>
<option value="12.00 P.M">12.00 P.M</option>
<option value="Not Available">Not Available</option>
</select>
</div>
</div>
</td>
<td>
<div class="col-md-12">
<div class="form-group">
<select class="select" id="tues_end" name="tues_end">
<option value="Select Date">Select</option>
<option value="09.00 A.M">09.00 A.M</option>
<option value="10.00 A.M">10.00 A.M</option>
<option value="11.00 A.M">11.00 A.M</option>
<option value="12.00 P.M">12.00 P.M</option>
<option value="Not Available">Not Available</option>
</select>
</div>
</div>
</td>
</tr>
<tr>
<td>WednesDay</td>
<td>
<div class="col-md-12">
<div class="form-group">
<select class="select" id="wed_start" name="wed_start">
<option value="Select Date">Select</option>
<option value="09.00 A.M">09.00 A.M</option>
<option value="10.00 A.M">10.00 A.M</option>
<option value="11.00 A.M">11.00 A.M</option>
<option value="12.00 P.M">12.00 P.M</option>
<option value="Not Available">Not Available</option>
</select>
</div>
</div>
</td>
<td>
<div class="col-md-12">
<div class="form-group">
<select class="select" id="wed_end" name="wed_end">
<option value="Select Date">Select</option>
<option value="09.00 A.M">09.00 A.M</option>
<option value="10.00 A.M">10.00 A.M</option>
<option value="11.00 A.M">11.00 A.M</option>
<option value="12.00 P.M">12.00 P.M</option>
<option value="Not Available">Not Available</option>
</select>
</div>
</div>
</td>
</tr>
<tr>
<td>ThursDay</td>
<td><div class="col-md-12">
<div class="form-group">
<select class="select" id="thur_start" name="thur_start">
<option value="Select Date">Select</option>
<option value="09.00 A.M">09.00 A.M</option>
<option value="10.00 A.M">10.00 A.M</option>
<option value="11.00 A.M">11.00 A.M</option>
<option value="12.00 P.M">12.00 P.M</option>
<option value="Not Available">Not Available</option>
</select>
</div>
</div></td>
<td><div class="col-md-12">
<div class="form-group">
<select class="select" id="thur_end" name="thur_end">
<option value="Select Date">Select</option>
<option value="09.00 A.M">09.00 A.M</option>
<option value="10.00 A.M">10.00 A.M</option>
<option value="11.00 A.M">11.00 A.M</option>
<option value="12.00 P.M">12.00 P.M</option>
<option value="Not Available">Not Available</option>
</select>
</div>
</div></td>
</tr>
<tr>
<td>FriDay</td>
<td><div class="col-md-12">
<div class="form-group">
<select class="select" id="fri_start" name="fri_start">
<option value="Select Date">Select</option>
<option value="09.00 A.M">09.00 A.M</option>
<option value="10.00 A.M">10.00 A.M</option>
<option value="11.00 A.M">11.00 A.M</option>
<option value="12.00 P.M">12.00 P.M</option>
<option value="Not Available">Not Available</option>
</select>
</div>
</div></td>
<td><div class="col-md-12">
<div class="form-group">
<select class="select" id="fri_end" name="fri_end">
<option value="Select Date">Select</option>
<option value="09.00 A.M">09.00 A.M</option>
<option value="10.00 A.M">10.00 A.M</option>
<option value="11.00 A.M">11.00 A.M</option>
<option value="12.00 P.M">12.00 P.M</option>
<option value="Not Available">Not Available</option>
</select>
</div>
</div></td>
</tr>
<tr>
<td>SaturDay</td>
<td><div class="col-md-12">
<div class="form-group">
<select class="select" id="sat_start" name="sat_start">
<option value="Select Date">Select</option>
<option value="09.00 A.M">09.00 A.M</option>
<option value="10.00 A.M">10.00 A.M</option>
<option value="11.00 A.M">11.00 A.M</option>
<option value="12.00 P.M">12.00 P.M</option>
<option value="Not Available">Not Available</option>
</select>
</div>
</div></td>
<td><div class="col-md-12">
<div class="form-group">
<select class="select" id="sat_end" name="sat_end">
<option value="Select Date">Select</option>
<option value="09.00 A.M">09.00 A.M</option>
<option value="10.00 A.M">10.00 A.M</option>
<option value="11.00 A.M">11.00 A.M</option>
<option value="12.00 P.M">12.00 P.M</option>
<option value="Not Available">Not Available</option>
</select>
</div>
</div></td>
</tr>
<tr>
<td>SunDay</td>
<td><div class="col-md-12">
<div class="form-group">
<select class="select" id="sun_start" name="sun_start">
<option value="Select Date">Select</option>
<option value="09.00 A.M">09.00 A.M</option>
<option value="10.00 A.M">10.00 A.M</option>
<option value="11.00 A.M">11.00 A.M</option>
<option value="12.00 P.M">12.00 P.M</option>
<option value="Not Available">Not Available</option>
</select>
</div>
</div></td>
<td><div class="col-md-12">
<div class="form-group">
<select class="select" id="sun_end" name="sun_end">
<option value="Select Date">Select</option>
<option value="09.00 A.M">09.00 A.M</option>
<option value="10.00 A.M">10.00 A.M</option>
<option value="11.00 A.M">11.00 A.M</option>
<option value="12.00 P.M">12.00 P.M</option>
<option value="Not Available">Not Available</option>
</select>
</div>
</div></td>
</tr>
</tbody>
</table>
在我的抓取页面中,我这样编码以检索数据:
<table class="table table-hover mb-0">
<thead>
<tr>
<th>Day</th>
<th>Time (From)</th>
<th>Time (To)</th>
</tr>
</thead>
<tbody>
<?php
$stmt = $conn->prepare("SELECT * FROM schedule WHERE user_id=? ");
$stmt->bind_param("s", $_GET['userid']);
$stmt->execute();
$result = $stmt->get_result();
if($result->num_rows === 0) exit('No rows');
while($row = $result->fetch_assoc()) {
$times = json_decode($row['available_days'],true);
if (is_array($times) || is_object($times)) {
foreach($times as $key => $object) {
?>
<tr>
<td>Monday</td>
<td><?php echo $object['monday_start']; ?></td>
<td><?php echo $object['monday_end']; ?></td>
</tr>
<tr>
<td>tuesday</td>
<td><?php echo $object['tuesday_start']; ?></td>
<td><?php echo $object['tuesday_end']; ?></td>
</tr>
<tr>
<td>wednesday</td>
<td><?php echo $object['wednesday_start']; ?></td>
<td><?php echo $object['wednesday_end']; ?></td>
</tr>
<tr>
<td>thursday</td>
<td><?php echo $object['thursday_start']; ?></td>
<td><?php echo $object['thursday_end']; ?></td>
</tr>
<tr>
<td>friday</td>
<td><?php echo $object['friday_start']; ?></td>
<td><?php echo $object['friday_end']; ?></td>
</tr>
<tr>
<td>saturday</td>
<td><?php echo $object['saturday_start']; ?></td>
<td><?php echo $object['saturday_end']; ?></td>
</tr>
<tr>
<td>sunday</td>
<td><?php echo $object['sunday_start']; ?></td>
<td><?php echo $object['sunday_end']; ?></td>
</tr>
<?php } } }
?>
</tbody>
</table>
白天
时间(从)
时间(到)
星期一
星期二
星期三
星期四
星期五
星期六
星期日
只有第一行显示值,其他行显示错误,如下所示:
注意:未定义索引:星期二\u在第261行的C:\xampp\htdocs\Hospital\adminpanel\show\u schedule.php中开始注意:未定义索引:星期二\u在第261行的C:\xampp\htdocs\Hospital\adminpanel\show\u schedule.php中结束
请帮助我。问题就在这里:
foreach($key=>$object的次数)
,您每天都在循环,但在循环中您尝试显示所有天的数据
以下是一个可能的解决方案:
<?php
$days = array('monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday'); // define all days to be displayed
foreach($days as $day)
{
// retrieve current day data only
// this will return the item that has a DAY_start key in it
$dayData = array_values(array_filter($times, function($d) use($day){return array_key_exists($day . '_start', $d);}))[0] ;
?>
<tr>
<td><?php echo ucfirst($day); /* display the name of the day */?></td>
<td><?php echo $dayData[$day . '_start']; /* display the current day start */?></td>
<td><?php echo $dayData[$day . '_end']; /* display the current day end */?></td>
</tr>
<?php
}
?>
<?php
$days = array('monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday'); // define all days to be displayed
foreach($days as $day)
{
// retrieve current day data only
// this will return the item that has a DAY_start key in it
$dayData = array_values(array_filter($times, function($d) use($day){return array_key_exists($day . '_start', $d);}))[0] ;
?>
<tr>
<td><?php echo ucfirst($day); /* display the name of the day */?></td>
<td><?php echo $dayData[$day . '_start']; /* display the current day start */?></td>
<td><?php echo $dayData[$day . '_end']; /* display the current day end */?></td>
</tr>
<?php
}
?>