Здесь я храню doctor schedule
в HTML table
со следующим JSON
форматом. Он успешно хранит в базе данных следующее:
[{"monday_start":"09.00 A.M","monday_end":"10.00 A.M"},{"tuesday_start":"10.00 A.M","tuesday_end":"11.00 A.M"},{"wednesday_start":"Select Date","wednesday_end":"Select Date"},{"thursday_start":"Select Date","thursday_end":"Select Date"},{"friday_start":"Select Date","friday_end":"Select Date"},{"saturday_start":"Select Date","saturday_end":"Select Date"},{"sunday_start":"Select Date","sunday_end":"Select Date"}]
Вот код 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>
Здесь Ajax call
для отправки данных на addschedule.php
страницу:
<script>
// save comment to database
$(document).on('click', '#schedule', function () {
var modess = $('#rows tr').map(function() {
let $tr = $(this);
return [ {
"monday_start": $(this).find('#mon_start').val(),
"monday_end": $(this).find('#mon_end').val(),
"tuesday_start":$(this).find('#tues_start').val(),
"tuesday_end":$(this).find('#tues_end').val(),
"wednesday_start":$(this).find('#wed_start').val(),
"wednesday_end":$(this).find('#wed_end').val(),
"thursday_start": $(this).find('#thur_start').val(),
"thursday_end": $(this).find('#thur_end').val(),
"friday_start": $(this).find('#fri_start').val(),
"friday_end": $(this).find('#fri_end').val(),
"saturday_start": $(this).find('#sat_start').val(),
"saturday_end": $(this).find('#sat_end').val(),
"sunday_start": $(this).find('#sun_start').val(),
"sunday_end": $(this).find('#sun_end').val(),
} ]
console.log(modess);
});
var timetable = JSON.stringify( $.makeArray(modess) );
$.ajax({
url: "adminquery/addschedule.php", // Url to which the request is send
method: "POST", // Type of request to be send, called as method
data:{ index1: timetable,
},
cache: false,
success: function (response) {
$('#success_mes').fadeIn().html(response);
$("success_mes").fadeIn().html(response);
setTimeout(function () {
$('#success_mes').fadeOut("Slow");
}, 2000);
}
});
});
</script>
На моей странице извлечения я закодировал так, чтобы получить данные:
<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>
Только первая строка показывает значение, другие показывают ошибку, показывая как это: Notice: Undefined index: tuesday_start in C:\xampp\htdocs\Hospital\adminpanel\show_schedule.php on line 260Notice: Undefined index: tuesday_end in C:\xampp\htdocs\Hospital\adminpanel\show_schedule.php on line 261
для каждой следующей строки.
Пожалуйста, помогите мне.