在PHP中获取JSON值

纳西克·塔希德(Nasik Thaheed)

在这里,我将以下格式存储在doctor schedule它成功如下所示存储在数据库中:HTML tableJSON

[{"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对于每一行。

在此处输入图片说明

请帮我。

乔佛里·施密兹

问题在这里:foreach($times as $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
}
?>    

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章