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,037

HOME > PHP > PHP Forum > สอบถาม เกี่ยวกับ array ค่ะ error Warning: Invalid argument supplied for foreach() in localhost/table_time.php on line 159



 

สอบถาม เกี่ยวกับ array ค่ะ error Warning: Invalid argument supplied for foreach() in localhost/table_time.php on line 159

 



Topic : 122279



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



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




คือมันเป็น code ตารางสอนหน่ะค่ะ แต่พอเอามารันแล้วมัน error ขึ้น อยากสอบถามว่า

การ foreach แบบนี้มันไม่ถูกต้องแล้วหรอคะ หรือว่าต้องเขียนในรูปแบบอื่น รบกวนขอคำแนะนำด้วยนะคะ

foreach($data_schedule[$dayInSchedule_chk] as $k=>$v){


}


Code (PHP)
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>

<style type="text/css">
.activity{
    background-color:#C6EEC3;   
}
</style>
<?php
// ส่วนของตัวแปรสำหรับกำหนด
$thai_day_arr=array("จันทร์","อังคาร","พุธ","พฤหัสบดี","ศุกร์","เสาร์","อาทิตย์");     
$thai_month_arr=array(     
    "0"=>"",     
    "1"=>"มกราคม",     
    "2"=>"กุมภาพันธ์",     
    "3"=>"มีนาคม",     
    "4"=>"เมษายน",     
    "5"=>"พฤษภาคม",     
    "6"=>"มิถุนายน",      
    "7"=>"กรกฎาคม",     
    "8"=>"สิงหาคม",     
    "9"=>"กันยายน",     
    "10"=>"ตุลาคม",     
    "11"=>"พฤศจิกายน",     
    "12"=>"ธันวาคม"                       
);     
$thai_month_arr_short=array(     
    "0"=>"",     
    "1"=>"ม.ค.",     
    "2"=>"ก.พ.",     
    "3"=>"มี.ค.",     
    "4"=>"เม.ย.",     
    "5"=>"พ.ค.",     
    "6"=>"มิ.ย.",      
    "7"=>"ก.ค.",     
    "8"=>"ส.ค.",     
    "9"=>"ก.ย.",     
    "10"=>"ต.ค.",     
    "11"=>"พ.ย.",     
    "12"=>"ธ.ค."                       
);    


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

// รูปแบบชุดข้อมูลที่ใช้งาน
$data_schedule=array(
  "2015-03-17"=>array(
    "0"=>array(
        "start_time"=>"08:00:00",
        "end_time"=>"10:00:00",
        "detail"=>"test data1"
    )
  ),
  "2015-03-16"=>array(
    "0"=>array(
        "start_time"=>"10:00:00",
        "end_time"=>"12:00:00",
        "detail"=>"test data2"
    ),      
    "1"=>array(
        "start_time"=>"13:00:00",
        "end_time"=>"15:00:00",
        "detail"=>"test data3"
    ),
    "3"=>array(
        "start_time"=>"17:00:00",
        "end_time"=>"18:00:00",
        "detail"=>"test data4"
    ),        
  ),
  "2015-03-20"=>array(
    "0"=>array(
        "start_time"=>"09:00:00",
        "end_time"=>"12:00:00",
        "detail"=>"test data5"
    ),      
    "1"=>array(
        "start_time"=>"13:00:00",
        "end_time"=>"16:00:00",
        "detail"=>"test data6"
    ),
    "3"=>array(
        "start_time"=>"16:00:00",
        "end_time"=>"18:00:00",
        "detail"=>"test data7"
    ),     
  )
);

// ส่วนของการกำหนดวัน สามารถนำไปประยุกต์กรณีทำตารางเวลาแบบ เลื่อนดูแต่ละสัปดาห์ได้
$now_day=date("Y-m-d"); // วันปัจจุบัน รือกำหนดเป็นอย่างอื่นตามต้องการ
$startWeekDay_back=(date("w",strtotime($now_day))!=0)?-(date("w",strtotime($now_day)))+1:-7;
$startWeekDay_next=(date("w",strtotime($now_day))!=0)?7-(date("w",strtotime($now_day))):0;
$start_weekDay=date("Y-m-d",strtotime("+$startWeekDay_back 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++;    // ได้จำนวนคอลัมน์ที่จะแสดง
}
?>
<div style="margin:auto;width:800px;">
 
<p>&nbsp;</p>
<p>&nbsp;</p>
<table  width="100%" 
align="center" 
border="1" 
cellspacing="2" 
cellpadding="2"
style="border-collapse:collapse;" >
  <tr>
    <td align="center" valign="middle" width="120" height="50">
    &nbsp;</td>
<?php
for($i_time=0;$i_time<$sc_numCol-1;$i_time++){
?>
    <td align="center" valign="middle" width="150" height="50">
    <?=$sc_timeStep[$i_time]?> - <?=$sc_timeStep[$i_time+1]?> 
    </td>
<?php }?>
  </tr>
<?php
// วนลูปแสดงจำนวนวันตามที่กำหนด
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" width="120" height="50">
    <?=$thai_day_arr[$i_day]?> 
    <br>
    <?=$dayInSchedule_show?>
    </td>
<?php
// ตรวจสอบและกำหนดช่วงเวลาให้สอดคล้องกับช้อมูล        
//$num_data=count($data_schedule[$dayInSchedule_chk]);
$num_data =7;
$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;
        $dtaShow="";
        foreach($data_schedule[$dayInSchedule_chk] as $k=>$v){
            if(strtotime($dayInSchedule_chk." ".$sc_timeStep[$i_time].":00") == 
            strtotime($dayInSchedule_chk." ".$v['start_time'])){
                $haveIN++; 
                $dtaShow=$v['detail'];
                $add=1;
                while(strtotime($dayInSchedule_chk." ".$sc_timeStep[$i_time+$add].":00") < 
                strtotime($dayInSchedule_chk." ".$v['end_time'])){
                    $haveIN++; 
                    $dtaShow=$v['detail'];      
                    $add++;
                }
            }
        }
        $arr_checkSpan[$i_time]=$haveIN;
        $arr_detailShow[$i_time]=$dtaShow;
    }  
}
for($i_time=0;$i_time<$sc_numCol-1;$i_time++){
    $colspan="";
    $css_use="";
    $dataShowIN="";
    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 <?=$css_use?> <?=$colspan?> align="center" valign="middle" width="150" height="50">
    <?php
    echo $dataShowIN;                                   
    ?>
    </td>
<?php }?>
  </tr>  
<?php }?>
</table>       
    
</div>            
</body>
</html>




Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2016-04-03 12:02:16 By : minted View : 847 Reply : 2
 

 

No. 1



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

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

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

Error นี้เกิดจาก Query Error แล้วยังไปดึงค่า Result ออกมาใช้ครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-04-03 22:23:22 By : mr.win
 


 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : mr.win เมื่อวันที่ 2016-04-03 22:23:22
รายละเอียดของการตอบ ::
ขอบคุณมาก ๆ เลยค่ะพี่วิน

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-04-04 15:16:45 By : minted
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถาม เกี่ยวกับ array ค่ะ error Warning: Invalid argument supplied for foreach() in localhost/table_time.php on line 159
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 03
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 อัตราราคา คลิกที่นี่