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 > ใครก็ได้ครับ ช่วยคิดลอจิก การตรวจสอบ วันและเวลา ในการทำตาราง เพื่อให้แสดงผลตามที่ต้องการครับ



 

ใครก็ได้ครับ ช่วยคิดลอจิก การตรวจสอบ วันและเวลา ในการทำตาราง เพื่อให้แสดงผลตามที่ต้องการครับ

 



Topic : 095864



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

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

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




Code (PHP)
$dayofweek = array('mon', 'tue', 'wed', 'thu', 'fri', 'sat', 'sun');
$timephase = array(
    '10:00-11:00',
    '11:00-12:30',
    '12:30-14:00',
    '14:00-15:30',
    '15:30-17:00',
    '17:00-18:30',
    '18:30-20:00',
    '20:00-21:30');

$rsDays = array();
$rsTime = array();
while ($classResult = mysql_fetch_assoc($classQuery)):
    array_push($rsDays, $classResult['class_day']);
    array_push($rsTime, $classResult['class_time']);
endwhile;

print_r($rsDays);
print_r($rsTime);

<?php foreach ($timephase as $key => $value): ?>
                        <tr>
                            <td class="text-center"><?php echo $value; ?></td>

                            <?php foreach ($dayofweek as $dayweek): ?>
                                <td class="text-center">
                                    <label onclick="javascript: insertSchedule('<?php echo $id; ?>', '<?php echo $dayweek; ?>', '<?php echo $key; ?>');">
                                        <input type="checkbox" style="display: none;">
                                        <span class="custom checkbox"></span>
                                        <?php if ($rsTime[$key] == $key AND $rsDays[$key] == $dayweek): ?>
                                            <?php echo "ok"; ?>
                                        <?php endif; ?>
                                    </label> 
                                </td>
                            <?php endforeach; ?>    
                        </tr>
                    <?php endforeach; ?>


errorshedule


*โปรแกรมแสดงผล ok ไม่ตรงตามข้อมูลจากฐานข้อมูลครับ ใครก็ได้ช่วยคิดเงื่อนไขให้หน่อยครับ ขอบคุณครับ



Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-05-30 11:35:30 By : Necrotorture View : 1015 Reply : 2
 

 

No. 1



โพสกระทู้ ( 1,994 )
บทความ ( 10 )



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

ตอนเก็บข้อมูลให้เช็กก่อน จนครบเงื่อนไข

Code (PHP)
while ($classResult = mysql_fetch_assoc($classQuery)):
	$d = date('w', strtotime( $classResult['class_day']));
	       $dKey = $dayofweek[$d-1]; //จะได้ชื่อที่ต้องการ mon, tue, ...

	if( $classResult['class_time'] >= '10.00' && $classResult['class_time'] <= '11.00'){
		$data[0][$dKey] = 'ok';
	}

	if( $classResult['class_time'] >= '11.00' && $classResult['class_time'] <= '12.30'){
		$data[1][$dKey] = 'ok';
	}

	.
	.
	.
	.
	.

endwhile;



ตอนวนลูปสร้างตาราง
Code (PHP)
<?php foreach ($dayofweek as $dayweek): ?>
     if ( isset($data[$key][$dayweek]) &&  $data[$key][$dayweek] != '')




เอาจจะเขียนยาวไปหน่อยตอนเก็บข้อมูล ใครมีวิธีเร็วกว่านี้ก็แนะนำนะครับ ^^"






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-30 16:47:33 By : {Cyberman}
 


 

No. 2



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

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

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


ตอนนี้ทำได้แล้วครับ

Code (PHP)
<?php foreach ($timephase as $key => $value): // วนลูปช่วงเวลาที่ทำเป็นอาเรย์ไว้ ?>

                        <?php foreach ($dayofweek as $dayweek): // วนลูป วันในสัปดาห์ ที่ทำเป็นอาเรย์ไว้ ?>

                            <?php
                            $round = count($rsTime); // นับจำนวนข้อมูลในอาเรย์ ที่ได้จากฐานข้อมูล
                            $ok = 0;
                            for ($i = 0; $i < $round; $i++) : // วนลูปตามจำนวนที่นับได้
                                ?>
                                <?php if ($rsTime[$i] == $key AND $rsDays[$i] == $dayweek): // ตรวจสอบเงื่อนไข ระหว่าง ช่วงเวลา กับ วัน ?>
                                    <?php $ok++; // ถ้าเงื่อนไขเป็นจริง ให้เพื่มค่า $ok +1 ?>
                                <?php endif; ?>
                            <?php endfor; ?>

                            <?php if ($ok > 0): // ถ้า $ok มากกว่า 0 ?>
                                echo "ok"; // แสดงผล ok ในช่องที่เป็น วัน และช่วงเวลานี้
                            <?php else: ?>

                            <?php endif; ?>

                        <?php endforeach; ?>    

                <?php endforeach; ?>


**ตอนนี้โปรแกรมแสดงผลได้ตามต้องการแล้วครับ แต่ไม่รู้ว่าลูปเยอะไปรึป่าว ใครมีวิธีแนะนำได้นะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-31 10:14:13 By : Necrotorture
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ใครก็ได้ครับ ช่วยคิดลอจิก การตรวจสอบ วันและเวลา ในการทำตาราง เพื่อให้แสดงผลตามที่ต้องการครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 00
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 อัตราราคา คลิกที่นี่