Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > PHP > PHP Forum > ขอสอบถามเรื่อง สร้างตารางสอน ด้วย PHP *ข้อมูลไม่โชว์ครับ



 

ขอสอบถามเรื่อง สร้างตารางสอน ด้วย PHP *ข้อมูลไม่โชว์ครับ

 



Topic : 131394



โพสกระทู้ ( 15 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook



ติดปัญหาว่า ข้อมูลมันไม่โชว์ออกมาครับ ไม่รุ้ติดตรงไหน

ตารางสอนdb

css ตารางสอน

Code (PHP)
        <style type="text/css">
          .wrap_schedule{
              margin:auto;
              width:800px;    
          }
          .activity{
              background-color:#C6EEC3;   
              font-size:12px;
          }
          .time_schedule{
              font-size:12px; 
          }
          .day_schedule{
              font-size:12px; 
          }
          .time_schedule_text{
              width:60px;
          }
          .day_schedule_text{
              width:80px;
          }
       </style>

      <!-- Content Wrapper. Contains page content -->
      <div class="content-wrapper">
            <!-- Main content -->
            <section class="content">

              <?php


              $thai_day_arr=array("จันทร์","อังคาร","พุธ","พฤหัสบดี","ศุกร์","เสาร์","อาทิตย์");
              $thai_month_arr=array("","มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิการยน","ธันวมคม");
              $thai_month_arr_short=array("","ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค.");

              //////////////////////// ส่วนของการจัดการตารางเวลา /////////////////////
              $sc_startTime=date("Y-m-d 08:00:00"); //กำหนดเวลาเริ่มต้น เปลี่ยนเฉพาะเลจเวลา
              $sc_endTime=date("Y-m-d 22:00:00"); //กำหนดเวลาสิ้นสุด เปลี่ยนเฉพาะเลจเวลา
              $sc_t_startTime=strtotime($sc_startTime);
              $sc_t_endTime=strtotime($sc_endTime);
              $sc_numStep="60"; //ช่วงช่องว่าง หน่วยน่าที 60นาที =1ชั่วโมง
              $sc_timeStep=7;//จำนวนวันที่จะโชว์ 1-7
              $sc_timeStep=array();
              $sc_numCol=0;

              ////////////////////// ส่วนของการจัดการตารางเวลา /////////////////////

              // ส่วนของการกำหนดวัน สามารถนำไปประยุกต์กรณีทำตารางเวลาแบบ เลื่อนดูแต่ละสัปดาห์ได้
              $now_day=date("Y-m-d");//วันที่ ปัจจุบัน ให้แสดงตารางที่มีวันปัจจุบัน เมื่อแสดงครั้งแรก
              if (isset($_GET['uts'])&& $_GETp['uts']!="") { //เมื่อมีการเปลี่ยน Week
                $now_day=date("Y-m-d",trim($_GETp['uts'])); //เปลี่ยนวันที่ แปลงจากค่าวันจันทร์ที่ส่งมา
              }
              // หาตัวบวก หรือลบ เพื่อหาวันที่ของวันจันทร์ในสัปดาห์
              $startWeekDay_back=(date("w",strtotime($now_day))!=0)?-(date("w",strtotime($now_day))):-6;
              $start_weekDay=date("Y-m-d",strtotime("+$startWeekDay_back day")); //หาวันที่ของวันจันทร์ของสัปดาห์
              if (isset($_GET['ust']) && $_GET['uts']!="") { //ถ้ามีค่าเปลี่ยน Week มา
                $start_weekDay=$now_day; //ให้ใช้วันแรก เป็นวันที่ส่งมา
              }
              // หาวันที่วันอาทิตย์ของ Week นั้น ๆ
              $end_weekDay=date("Y-m-d",strtotime($start_weekDay."+7 day"));
              $timestamp_prev=strtotime($start_weekDay."-7 day"); //ค่าวันจันทร์ของอาทิตย์ก่อนหน้า
              $timestamp_next=strtotime($start_weekDay."+7 day"); //ค่าวันจันทร์ของอาทิตย์ถัดไป
              while ($sc_t_startTime<=$sc_t_endTime) {
                $sc_timeStep[$sc_numCol]=date("H:i",$sc_t_startTime);
                $sc_t_startTime=$sc_t_startTime+($sc_numStep*60);
                $sc_numCol++; //ได้จำนวนคอมลัมน์ที่จะแสดง
              }



              ///////////////////// ส่วนของข้อมูล ที่ดึงจากฐานข้อมูล ///////////////////

              $data_schedule=array();

              $strSQL = "SELECT * FROM tble_schedule 
                WHERE course_date BETWEEN '".$start_weekDay."' AND '".$end_weekDay."'
                ORDER BY course_date";
              $result=mysql_db_query ($objDB,$strSQL);

              if ($result) {
                while ($row=mysql_fetch_assoc($result)) {

                    $data_schedule[$row['course_date']][]=array(
                    "start_time"=>$row['course_start_time'],
                    "end_time"=>$row['course_end_time'],
                    "detail"=>$row['course_title']
                  );
                }
               

              }
              
              ?>

              <div class="wrap_schedule">
                  <button type="" class="btn btn-md btn-info" onclick="window.location='pt_main.php?uts=<?php echo $timestamp_prev;?>'"> Prev</button>
                  <button type="" class="btn btn-md btn-info" onclick="window.location='pt_main.php?uts=<?php echo $timestamp_next;?>'"> Next</button>
              </div>
              <br>
              <div class="wrap_schedule">
                  <table cellpadding="2" cellspacing="2" class="table table-bordered table-striped">
                    <tr>
                        <td align="center" valign="middle" height="50"></td>
                        <?php for ($i_time=0; $i_time <$sc_numCol-1 ; $i_time++) { ?>
                        <td align="center" valign="middle" height="50">
                          <div class="time_schedule_text">
                            <?php echo $sc_timeStep[$i_time];?> - <?php echo $sc_timeStep[$i_time+1];?>
                            
                          </div>

                        </td>
                         <?php }?>
                    </tr>
                    <?php //วน Loop แสดงจำนวนวันตามที่กำหนด

                    for ($i_day=0; $i_day <$num_dayShow; $i_day++) { 
                        $dayInSchedule_chk=date("Y-m-d",strtotime($start_weekDay."+".$i_day."day"));
                        $dayInSchedule_show=date("d-m-Y",strtotime($start_weekDay."+".$i_day."day"));

         

                    ?>
                    <tr>
                        <td align="center" valign="middle" height="50" class="day_schedule">
                          <div class="day_schedule_text">
                            <?php echo $thai_day_arr[$i_day];?>
                            <br>
                            <?php echo $dayInSchedule_show;?>
                            
                          </div>
    
                        </td>

                    <?php 
                    //ตรวจสอบและกำหนดช่วงเวลาให้สอดคล้องกับข้อมูล
                    if (isset($data_schedule[$dayInSchedule_chk])) {
                      $num_data=count($data_schedule[$dayInSchedule_chk]);
                    } else {
                      $num_data=0;
                    }
                    $arr_checkSpan=array();
                    $arr_detailShow=array();
                    $real_sc_numCol=$sc_numCol;
                    for ($i_time=0; $i_time <$sc_numCol-1 ; $i_time++) {
                        if ($num_data>0) {
                           $haveIN=0;
                           $dataShow="";
                           foreach ($data_schedule[$dayInSchedule_chk] as $k => $v) {
                             if (strtotime($dayInSchedule_chk." ".$sc_timeStep[$i_time].":00")==strtotime($dayInSchedule_chk." ".$v['start_time'])) {
                               $haveIN++;
                               $dataShow=$v['detail'];
                               $add=1;
                               while (strtotime($dayInSchedule_chk." ".$sc_timeStep[$i_time+$add].":00") < strtotime($dayInSchedule_chk." ".$v['end_time']))
                               {
                                $haveIN++;
                                $dataShow=$v['detail'];
                                $add++;
                               }
                           }
                        }
                             
                             $arr_checkSpan[$i_time]=$haveIN;
                             $arr_detailShow[$i_time]=$dataShow;

                     }
                  }
                  for ($i_time=0; $i_time <$sc_numCol-1 ; $i_time++) { 
                      $colspan="";
                      $css_use="";
                      $dataShowIN="";
                      if (isset($arr_checkSpan[$i_time])) {
                        if ($arr_checkSpan[$i_time]>0) {
                            $dataShowIN=$arr_detailShow[$i_time];
                            $css_use="class=\"activity\"";
                        }
                        if ($arr_checkSpan[$i_time]>1) {
                         
                         $colspan="colspan=\"".$arr_checkSpan[$i_time]."\"";
                         $step_add=$arr_checkSpan[$i_time]-1;
                         $i_time+=$step_add;
                        }
                       
                      }

                    ?>
                    <td <?php echo $css_use;?> <?php echo $colspan;?> align="center" valign="middle" height="50">
                      <?php 
                       echo $dataShowIN;
                      ?>
                    </td>
                  <?php }?>
                    </tr>
                  <?php }?>
                  </table>

              </div>


 				
            </section><!-- /.content -->
      </div><!-- /.content-wrapper -->




Tag : PHP, CSS, JAVA









ประวัติการแก้ไข
2018-06-30 14:14:15
2018-06-30 14:16:06
2018-06-30 14:17:57
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2018-06-30 14:12:52 By : bondsanti View : 739 Reply : 2
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

Code
$strSQL = "SELECT * FROM tble_schedule WHERE course_date BETWEEN '".$start_weekDay."' AND '".$end_weekDay."' ORDER BY course_date"; echo $strSQL;


เอา Query มาดูครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-07-02 09:32:26 By : mr.win
 


 

No. 2



โพสกระทู้ ( 15 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 1 เขียนโดย : mr.win เมื่อวันที่ 2018-07-02 09:32:26
รายละเอียดของการตอบ ::
SELECT * FROM tble_schedule WHERE course_date BETWEEN '2018-07-01' AND '2018-07-08' ORDER BY course_date

คิวรี่

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-07-02 10:26:03 By : bondsanti
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ขอสอบถามเรื่อง สร้างตารางสอน ด้วย PHP *ข้อมูลไม่โชว์ครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่