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 > ติดปัญหาเรื่องการวนลูป แสดงในตารางแบบมีเงื่อนไขครับ



 

ติดปัญหาเรื่องการวนลูป แสดงในตารางแบบมีเงื่อนไขครับ

 



Topic : 115330



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



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




นี่คือ database ครับ

database

ส่วนนี่คืออยากให้มันแสดงผล ตรงตามช่องครับ

คือกรุ๊ป item ออกมา แล้วแสดงเวลาให้ตรงตามช่อง(ช่องเล็กๆ 4 ช่อง มันคือ มื้อครับเรียงตามวัน เช้าBF กลางวันLN เย็นDN ก่อนนอนBD และหากมี item_meal เป็นมื้อ S ก็จะเช็ค เวลา item_take ครับ ถ้าก่อน 1200 ก็เป็นช่องมื้อเช้า ก่อน 1500 ก็เป็นมื้อกลางวัน ก่อน 1600 เป็นมื้อเย็น และ หลัง 1600 เป็น มื้อก่อนนอน)

table

รบกวนเพื่อนๆ พี่ๆ ช่วยเสนอแนวคิด หรือ มีตัวอย่างโค๊ด ให้เป็นแนวทางด้วยครับ

คือตอนนี้ผมทำแบบวนลูป while ออกมา 1 ลูป แล้วแต่ละ <td> ผมก็ทำการใช้ if ตรวจสอบว่าตรงตามเงื่อนไข ในฐานข้อมูลรึเปล่า

แต่สิ่งที่แสดงออกมา มันผิดครับ มันไม่ตรงตามช่อง ดังนี้

result

ไม่ทราบว่า ต้องวนลูป หรือ คิวรี่ยังไงครับ

รบกวนด้วยครับ



Tag : PHP, MySQL









ประวัติการแก้ไข
2015-03-23 10:46:15
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-03-23 10:44:51 By : jojojoestar View : 1095 Reply : 5
 

 

No. 1



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



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


นี่ครับโค๊ดที่ผมทำ

Code (PHP)
<?php
        
        
//        $today = date("Ymd");
        $today = "20150317";
        
        $strDate[1] = date("Ymd",strtotime("-2 day",strtotime($today)));
        $strDate[2] = date("Ymd",strtotime("-1 day",strtotime($today)));
        $strDate[3] = date("Ymd",strtotime("now",strtotime($today)));
        $strDate[4] = date("Ymd",strtotime("+1 day",strtotime($today)));
        $strDate[5] = date("Ymd",strtotime("+2 day",strtotime($today)));
        
        $conn = new mysqli($host, $username, $password, $dbname);
        if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
        }
        else{
        $sql = "SELECT * FROM item GROUP BY item_name";
        $result = $conn->query($sql);
        
        if($result->num_rows > 0){
            echo "<table border=1><tr><th rowspan=2>Name</th><th colspan=2>".$strDate[1]."</th><th colspan=2>".$strDate[2]."</th><th colspan=2>".$strDate[3]."</th><th colspan=2>".$strDate[4]."</th><th colspan=2>".$strDate[5]."</th></tr>";
            echo "<tr><th >time</th><th>giver</th><th>time</th><th>giver</th><th>time</th><th>giver</th><th>time</th><th>giver</th><th>time</th><th>giver</th></tr>";
            
            while($row = $result->fetch_assoc()){
                
                $item_meal = $row["item_meal"];
                $item_date = $row["item_date"];
                $item_take = $row["item_take"];
                $item_name = $row["item_name"];
                $item_giver = $row["item_giver"];
                $item_status = $row["item_status"];
                
                echo "<tr><td rowspan=4>".$item_name."</td>";
                echo "<td id=hi>"?><?php            
                if((($item_status == "Y")&&($item_date == "20150315"))&&(($item_meal == "BF")||($item_meal == "S"))){
                echo $item_take;
                }"</td>";
                echo "<td>"?><?php            
                if((($item_status == "Y")&&($item_date == "20150315"))&&(($item_meal == "BF")||($item_meal == "S"))){
                echo $item_giver;
                }"</td>";
                echo "<td>"?><?php            
                if((($item_status == "Y")&&($item_date == "20150316"))&&(($item_meal == "BF")||($item_meal == "S"))){
                echo $item_take;
                }"</td>";
                echo "<td>"?><?php            
                if((($item_status == "Y")&&($item_date == "20150316"))&&(($item_meal == "BF")||($item_meal == "S"))){
                echo $item_giver;
                }"</td>";
                echo "<td>"?><?php            
                if((($item_status == "Y")&&($item_date == "20150317"))&&(($item_meal == "BF")||($item_meal == "S"))){
                echo $item_take;
                }"</td>";
                echo "<td>"?><?php            
                if((($item_status == "Y")&&($item_date == "20150317"))&&(($item_meal == "BF")||($item_meal == "S"))){
                echo $item_giver;
                }"</td>";
                echo "<td>"?><?php            
                if((($item_status == "Y")&&($item_date == "20150318"))&&(($item_meal == "BF")||($item_meal == "S"))){
                echo $item_take;
                }"</td>";
                echo "<td>"?><?php            
                if((($item_status == "Y")&&($item_date == "20150318"))&&(($item_meal == "BF")||($item_meal == "S"))){
                echo $item_giver;
                }"</td>";
                echo "<td>"?><?php            
                if((($item_status == "Y")&&($item_date == "20150319"))&&(($item_meal == "BF")||($item_meal == "S"))){
                echo $item_take;
                }"</td>";
                echo "<td>"?><?php            
                if((($item_status == "Y")&&($item_date == "20150319"))&&(($item_meal == "BF")||($item_meal == "S"))){
                echo $item_giver;
                }"</td></tr>";
                
                
                
                echo "<tr><td id=hi>"?><?php            
                if((($item_status == "Y")&&($item_date == "20150315"))&&(($item_meal == "LN")||($item_meal == "S"))){
                echo $item_take;
                }"</td>";
                echo "<td>"?><?php            
                if((($item_status == "Y")&&($item_date == "20150315"))&&(($item_meal == "LN")||($item_meal == "S"))){
                echo $item_giver;
                }"</td>";
                echo "<td>"?><?php            
                if((($item_status == "Y")&&($item_date == "20150316"))&&(($item_meal == "LN")||($item_meal == "S"))){
                echo $item_take;
                }"</td>";
                echo "<td>"?><?php            
                if((($item_status == "Y")&&($item_date == "20150316"))&&(($item_meal == "LN")||($item_meal == "S"))){
                echo $item_giver;
                }"</td>";
                echo "<td>"?><?php            
                if((($item_status == "Y")&&($item_date == "20150317"))&&(($item_meal == "LN")||($item_meal == "S"))){
                echo $item_take;
                }"</td>";
                echo "<td>"?><?php            
                if((($item_status == "Y")&&($item_date == "20150317"))&&(($item_meal == "LN")||($item_meal == "S"))){
                echo $item_giver;
                }"</td>";
                echo "<td>"?><?php            
                if((($item_status == "Y")&&($item_date == "20150318"))&&(($item_meal == "LN")||($item_meal == "S"))){
                echo $item_take;
                }"</td>";
                echo "<td>"?><?php            
                if((($item_status == "Y")&&($item_date == "20150318"))&&(($item_meal == "LN")||($item_meal == "S"))){
                echo $item_giver;
                }"</td>";
                echo "<td>"?><?php            
                if((($item_status == "Y")&&($item_date == "20150319"))&&(($item_meal == "LN")||($item_meal == "S"))){
                echo $item_take;
                }"</td>";
                echo "<td>"?><?php            
                if((($item_status == "Y")&&($item_date == "20150319"))&&(($item_meal == "LN")||($item_meal == "S"))){
                echo $item_giver;
                }"</td></tr>";
                
                
                
                echo "<tr><td id=hi>"?><?php            
                if((($item_status == "Y")&&($item_date == "20150315"))&&(($item_meal == "DN")||($item_meal == "S"))){
                echo $item_take;
                }"</td>";
                echo "<td>"?><?php            
                if((($item_status == "Y")&&($item_date == "20150315"))&&(($item_meal == "DN")||($item_meal == "S"))){
                echo $item_giver;
                }"</td>";
                echo "<td>"?><?php            
                if((($item_status == "Y")&&($item_date == "20150316"))&&(($item_meal == "DN")||($item_meal == "S"))){
                echo $item_take;
                }"</td>";
                echo "<td>"?><?php            
                if((($item_status == "Y")&&($item_date == "20150316"))&&(($item_meal == "DN")||($item_meal == "S"))){
                echo $item_giver;
                }"</td>";
                echo "<td>"?><?php            
                if((($item_status == "Y")&&($item_date == "20150317"))&&(($item_meal == "DN")||($item_meal == "S"))){
                echo $item_take;
                }"</td>";
                echo "<td>"?><?php            
                if((($item_status == "Y")&&($item_date == "20150317"))&&(($item_meal == "DN")||($item_meal == "S"))){
                echo $item_giver;
                }"</td>";
                echo "<td>"?><?php            
                if((($item_status == "Y")&&($item_date == "20150318"))&&(($item_meal == "DN")||($item_meal == "S"))){
                echo $item_take;
                }"</td>";
                echo "<td>"?><?php            
                if((($item_status == "Y")&&($item_date == "20150318"))&&(($item_meal == "DN")||($item_meal == "S"))){
                echo $item_giver;
                }"</td>";
                echo "<td>"?><?php            
                if((($item_status == "Y")&&($item_date == "20150319"))&&(($item_meal == "DN")||($item_meal == "S"))){
                echo $item_take;
                }"</td>";
                echo "<td>"?><?php            
                if((($item_status == "Y")&&($item_date == "20150319"))&&(($item_meal == "DN")||($item_meal == "S"))){
                echo $item_giver;
                }"</td></tr>";
                
                
                
                echo "<tr><td id=hi>"?><?php            
                if((($item_status == "Y")&&($item_date == "20150315"))&&(($item_meal == "BD")||($item_meal == "S"))){
                echo $item_take;
                }"</td>";
                echo "<td>"?><?php            
                if((($item_status == "Y")&&($item_date == "20150315"))&&(($item_meal == "BD")||($item_meal == "S"))){
                echo $item_giver;
                }"</td>";
                echo "<td>"?><?php            
                if((($item_status == "Y")&&($item_date == "20150316"))&&(($item_meal == "BD")||($item_meal == "S"))){
                echo $item_take;
                }"</td>";
                echo "<td>"?><?php            
                if((($item_status == "Y")&&($item_date == "20150316"))&&(($item_meal == "BD")||($item_meal == "S"))){
                echo $item_giver;
                }"</td>";
                echo "<td>"?><?php            
                if((($item_status == "Y")&&($item_date == "20150317"))&&(($item_meal == "BD")||($item_meal == "S"))){
                echo $item_take;
                }"</td>";
                echo "<td>"?><?php            
                if((($item_status == "Y")&&($item_date == "20150317"))&&(($item_meal == "BD")||($item_meal == "S"))){
                echo $item_giver;
                }"</td>";
                echo "<td>"?><?php            
                if((($item_status == "Y")&&($item_date == "20150318"))&&(($item_meal == "BD")||($item_meal == "S"))){
                echo $item_take;
                }"</td>";
                echo "<td>"?><?php            
                if((($item_status == "Y")&&($item_date == "20150318"))&&(($item_meal == "BD")||($item_meal == "S"))){
                echo $item_giver;
                }"</td>";
                echo "<td>"?><?php            
                if((($item_status == "Y")&&($item_date == "20150319"))&&(($item_meal == "BD")||($item_meal == "S"))){
                echo $item_take;
                }"</td>";
                echo "<td>"?><?php            
                if((($item_status == "Y")&&($item_date == "20150319"))&&(($item_meal == "BD")||($item_meal == "S"))){
                echo $item_giver;
                }"</td></tr>";
                
            }
            echo "</table>";
        }
        else{
            echo "result empty";
        }
        }
        $conn->close();
        ?>


มันแสดงออกมาผิดครับ








ประวัติการแก้ไข
2015-03-23 11:16:09
2015-03-23 11:17:00
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-03-23 11:08:38 By : jojojoestar
 


 

No. 2



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



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


มีใคร มีแนวทางบ้างไหมครับ

ลองค้นหาดูแล้ว ไม่เจอเลยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-03-23 13:23:19 By : jojojoestar
 

 

No. 3



โพสกระทู้ ( 9,553 )
บทความ ( 2 )



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


ลองดูครับ ไม่ได้เทสต์
Code (PHP)
<?php
$new = array(); $cap_date = array(); $caption=''; $sub_cap='';
////////////////////////////////////////////////////////////////
$sql = "SELECT item_date FROM item group by item_date ";
$result = $conn->query($sql);
while( $row=$result->fetch_assoc()){
	$cap_date[$row['item_date']]=array( 'data'=>array(), 'count'=>0 );
}
$js_buff = json_encode( $cap_date ); // สร้าง json string เก็บค่า array
////////////////////////////////////////////////////////////////
$sql = "SELECT * FROM item order by item_name, item_date, item_take ";
$result = $conn->query($sql);
$old = '';
while( $row=$result->fetch_assoc()){
	$nm=$row['item_name']; 
	if( $old!=$nm){
		if($old) $new[$old]['mx']=$mx;
		$old=$nm; $mx = 0;
		$new[$nm]=array( 'mx'=>0, 'dte'=>json_decode( $js_buff)); 
		// ใช้ json แปลงค่า ป้องกัน การอ้างอิง แบบ pointer address
	}
	$new[$nm]['dte'][ $row['item_date'] ][] = $row; 
	if( $mx<($x = count( $new[$nm]['dte'][ $row['item_date'] ]) ) ) $mx = $x;
}
if($old) $new[$old]['mx']=$mx;
////////////////////////////////////////////////////////////////
foreach($cap_date as $dte=>$vl) {
	$caption .='<th colspan=2>', $dte, '</th>'; 
	$sub_cap .="<th>time</th><th>giver</th>";
}
////////////////////////////////////////////////////////////////
$tr = ''; $tmp_y = array('item_take'=>'', 'item_giver'=>'');
foreach($new as $nm=>$dte){
	$ln=$new[$nm]['mx'];
	for($i=0; $<$ln; $i++){
		$tr .= ($i? '<tr>' : "<tr><td rowspan=$ln >$nm</td>");
		foreach( $cap_date as $dte=>$vl){
			$y = isset( $new[$nm]['dte'][$dte][$i]) ? $new[$nm]['dte'][$dte][$i] : $tmp_y;
			$tr .= '<td>'.$y['item_take'].'</td><td>'.$y['item_giver'].'</td>';
		} $tr.='</tr>';
	}
}
///////////////////////////////////////////////////////////////
?>
<table border=2>
<tr><th rowspan=2>Name</th><?=$caption?></tr>
<tr><?=$sub_cap?></tr>
<?=$tr?>
</table>


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-03-23 15:50:47 By : Chaidhanan
 


 

No. 4



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



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


ตอบความคิดเห็นที่ : 3 เขียนโดย : Chaidhanan เมื่อวันที่ 2015-03-23 15:50:47
รายละเอียดของการตอบ ::

ขอบคุณมากครับ เดี๋ยวขอเอาไปโมก่อน



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-03-23 16:07:21 By : jojojoestar
 


 

No. 5



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



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


ตอบความคิดเห็นที่ : 3 เขียนโดย : Chaidhanan เมื่อวันที่ 2015-03-23 15:50:47
รายละเอียดของการตอบ ::

แถวช่องว่างมื้อมันเกินมาหน่ะครับ

เดี๋ยวแก้ก่อนครับ แต่เดต้าตอนนี้ออกมาถูกแล้วครับ







ประวัติการแก้ไข
2015-03-23 16:34:19
2015-03-23 16:34:54
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-03-23 16:28:08 By : jojojoestar
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
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 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 อัตราราคา คลิกที่นี่