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

HOME > PHP > PHP Forum > พอดีผมได้โค้ดตัวอย่างการแสดงข้อมูลการจองห้องมา แล้วไม่รู้ประยุกต์ยังไง ผมอยากจะให้แสดงข้อมูลแบบนี้



 

พอดีผมได้โค้ดตัวอย่างการแสดงข้อมูลการจองห้องมา แล้วไม่รู้ประยุกต์ยังไง ผมอยากจะให้แสดงข้อมูลแบบนี้

 



Topic : 032546



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



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




พอดีผมได้โค้ดตัวอย่างมา แล้วไม่รู้ประยุกต์ยังไง กรุณาช่วยผมด้วยน่ะครับ

88

จากรูปข้างบนข้อมูลที่จองเมื่อมีการจองจะให้แสดง ชื่อเรื่อง(title) แทนคำว่า resv

Code (PHP)
<?php

		mysql_connect('localhost','root','12345') or die(mysql_error());
		mysql_select_db('test') or die(mysql_error());
				
		//create test data
		$r = mysql_query("SHOW TABLES LIKE 'resv'");
		if (mysql_num_rows($r) == 0){
				mysql_query(
				'CREATE TABLE `resv` ('.
				  '`id` int(10) unsigned NOT NULL AUTO_INCREMENT,'.
  				'`room` varchar(30) DEFAULT NULL,'.
				  '`resv_on` date DEFAULT NULL,'.
				  '`regis_on` date DEFAULT NULL,'.
                    '`title` text(60) DEFAULT NULL,'.
				  '`resv_at` tinyint(1) DEFAULT NULL,'.
				  'PRIMARY KEY (`id`)'.
				')'
				) or die(mysql_error());
				echo 'create table successfully.<br>';
				mysql_query(
						"insert  into `resv`(`id`,`resv_on`,`regis_on`,`resv_at`,`room`,`title`) values ".
						"(1,'2009-10-10','2009-10-01','1','room1','เรื่องการสัมนา'),".
						"(2,'2009-09-09','2009-10-02','2','room1','เรื่องด่วน'),".
						"(3,'2009-09-08','2009-10-03','1','room2','เรื่องงบประมาณ'),".
						"(4,'2009-09-09','2009-10-04','3','room2','เรื่องเบิกงบ');"
				) or die(mysql_error());
				echo 'insert data successfully.<br>';
		}
		function nextMonthYear($m,$y){
			if ($m == 12){$m = 1;$y++;}else{$m++;}
			return compact('m','y');
		}
		function prevMonthYear($m,$y){
			if ($m == 1){$m = 12;$y--;}else{$m--;}
			return compact('m','y');
		}
		
		
		$m = empty($_GET['m']) ? '9' : (int)$_GET['m'];
		$y = empty($_GET['y']) ? '2009' : (int)$_GET['y'];		
		$days = cal_days_in_month(CAL_GREGORIAN, $m, $y);
		$rooms = array('room1','room2');

		$data = array();		
		$r = mysql_query(
			"SELECT * FROM resv ".
			"WHERE MONTH(resv_on)='$m' AND YEAR(resv_on)='$y' "
		);
		while($rs = mysql_fetch_assoc($r)){
			$resv_on = $rs['resv_on'];
			$room = $rs['room'];
			$resv_at = $rs['resv_at'];
			if (empty($data[$resv_on])){
				$data[$resv_on] = array();
			}
			if (empty($data[$resv_on][$room])){
				$data[$resv_on][$room] = array();
			}
			$data[$resv_on][$room][$resv_at] = true;
		}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=tis-620" />
<title>reserve room in each month</title>

</head>

<body>

<pre><?php print_r($data);?></pre>

<?php
 			$prev = prevMonthYear($m,$y);
			$next = nextMonthYear($m,$y);
?>
<a href="?y=<?php echo $prev['y'];?>&m=<?php echo $prev['m'];?>">Previous Month</a> |
<?php echo $m,'/',$y; ?> |
<a href="?y=<?php echo $next['y'];?>&m=<?php echo $next['m'];?>">Next Month</a>


<table width="100%" border="1">
  <tr>
    <td rowspan="2">ว/ด/ป</td>
    <?php foreach($rooms as $room):?>
    <td colspan="3"><?php echo $room;?></td>
    <?php endforeach;?>
  </tr>
  <tr>
    <?php foreach($rooms as $room):?>
    <td>เช้า</td>
    <td>บ่าย</td>
    <td>เช้าบ่าย</td>    
    <?php endforeach;?>
  </tr>
  <?php foreach(range(1,$days) as $d): ?>
  <?php $date = sprintf('%04d-%02d-%02d',$y,$m,$d); ?>
  <tr>
    <td align="right"><?php echo $d;?>/<?php echo $m;?>/<?php echo $y;?></td>
    <?php foreach($rooms as $room):?>
    <td><?php echo !empty($data[$date][$room][1]) ? 'resv' : '&nbsp;'; ?></td>
    <td><?php echo !empty($data[$date][$room][2]) ? 'resv' : '&nbsp;'; ?></td>
    <td><?php echo !empty($data[$date][$room][3]) ? 'resv' : '&nbsp;'; ?></td>
    <?php endforeach;?>
  </tr>
  <?php endforeach;?>
</table>

</body>
</html>




Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2009-10-03 10:33:15 By : oasiis View : 1157 Reply : 13
 

 

No. 1



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



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


ช่วยผมหน่อยครับ






Date : 2009-10-03 18:07:45 By : oasiis
 


 

No. 2



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

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

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

แก้สองที่ครับ
$data[$resv_on][$room][$resv_at] = true;
แก้เป็น
$data[$resv_on][$room][$resv_at] = $rs['title'];

<td><?php echo !empty($data[$date][$room][1]) ? 'resv' : '&nbsp;'; ?></td>
<td><?php echo !empty($data[$date][$room][2]) ? 'resv' : '&nbsp;'; ?></td>
<td><?php echo !empty($data[$date][$room][3]) ? 'resv' : '&nbsp;'; ?></td>
แก้เป็น
<td><?php echo !empty($data[$date][$room][1]) ? $data[$date][$room][1] : '&nbsp;'; ?></td>
<td><?php echo !empty($data[$date][$room][2]) ? $data[$date][$room][2] : '&nbsp;'; ?></td>
<td><?php echo !empty($data[$date][$room][3]) ? $data[$date][$room][3] : '&nbsp;'; ?></td>
Date : 2009-10-03 18:26:58 By : num
 

 

No. 3



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



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


แล้วถ้าอยากให้วันที่แสดงเป็นภาษาไทยล่ะครับ ต้องทำยังไงครับ?
Date : 2009-10-03 18:54:22 By : oasiis
 


 

No. 4



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

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

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

ใส่ function นี้ถัดจาก function prevMonthYear($m,$y) ก็ได้ครับ

function thaidate($s){
$months = array(1=>'มกราคม','กุมภาพันธ์','มีนาคม',
'เมษายน','พฤษภาคม','มิถุนายน','กรกฎาคม','สิงหาคม',
'กันยายน','ตุลาคม','พฤศจิกายน','ธันวาคม');
$t = strtotime($s);
return date('d',$t).' '.$months[date('n',$t)].' '.(date('Y',$t)+543);
}

และแก้ที่
<td align="right"><?php echo $d;?>/<?php echo $m;?>/<?php echo $y;?></td>
เป็น
<td align="right"><?php echo thaidate($date);?></td>
ครับ
Date : 2009-10-03 19:52:47 By : num
 


 

No. 5



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



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


คุณ num ครับ

ผมลองใช้
Code (PHP)
<?php
<tr onMouseOver="javascript:this.bgColor='#CCCCCC'" onMouseOut="javascript:this.bgColor=''">
    <td width="242" align="right" bordercolor="#0066CC"><span class="style15"><?php echo thaidate($date);?></span></td>
    <?php foreach($rooms as $room):?>
    <td width="163" align="left" valign="middle" bordercolor="#0066CC"><a href="detail.php?title=<?=$tit;?>&use_date=<?=$resv_on;?>" class="style15"><?php echo !empty($data[$date][$room][1]) ? $data[$date][$room][1] : '&nbsp;'; ?><BR></a></td>
    <td width="163" align="left" valign="middle" bordercolor="#0066CC"><a href="detail.php?title=<?=$tit;?>&use_date=<?=$resv_on;?>" class="style15"><?php echo !empty($data[$date][$room][2]) ? $data[$date][$room][2] : '&nbsp;'; ?></a></td>
    <td width="163" align="left" valign="middle" bordercolor="#0066CC"><a href="detail.php?title=<?=$tit;?>&use_date=<?=$resv_on;?>" class="style15"><?php echo !empty($data[$date][$room][3]) ? $data[$date][$room][3] : '&nbsp;'; ?></a></td>
    <?php endforeach;?>
  </tr>
?>


เพื่อจะทำลิงค์ ปรากฎ ว่า เมื่อเอาเมาส์ไปชี้ที่ลิงค์ มันมีค่าเหมือนกันทุกการข้อมูลการจองเลยครับ ไม่ทราบว่าทำไงดีครับ
Date : 2009-10-03 20:06:16 By : oasiis
 


 

No. 6



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

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

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

ถ้าต้องการแค่ข้อมูล title กับ resv_on แก้แค่นี้ครับ

<a href="detail.php?title=<?php echo !empty($data[$date][$room][2]) ? urlencode($data[$date][$room][2]) : '';?>&use_date=<?php echo $date;?>" class="style15"><?php echo !empty($data[$date][$room][2]) ? $data[$date][$room][2] : '&nbsp;'; ?></a>
Date : 2009-10-03 20:40:54 By : num
 


 

No. 7



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



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


แล้ววันที่ในส่วนของ

$prev = prevMonthYear($m,$y);
$next = nextMonthYear($m,$y);

ทำเป็นเดือนปี ของไทยได้รึป่าวครับ

ช่วยหน่อยครับ
Date : 2009-10-03 21:21:32 By : oasiis
 


 

No. 8



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

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

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

ตรงนั้นไม่เหมาะที่จะเป็นภาษาไทยครับ

แก้วันที่ตรงกลางน่ะครับ

$months = array(1=>'มกราคม','กุมภาพันธ์','มีนาคม',
'เมษายน','พฤษภาคม','มิถุนายน','กรกฎาคม','สิงหาคม',
'กันยายน','ตุลาคม','พฤศจิกายน','ธันวาคม');

<?php echo $m,'/',$y; ?> |
แก้เป็น
<?php echo $months[(int)$m],'/',$y+543; ?> |

ถ้าเป็น next จะใช้ตัวแปรแบบนี้ครับ
<?php echo $months[(int)$next['m']],'/',$next['y']+543; ?> |

ถามเยอะกว่านี้ไม่ได้แล้วนาครับเดี๋ยวเก็บตังค์อิๆ
อะล้อเล่นครับ คือถามเรื่องง่ายๆ แบบนี้มันเหมือนผมถูกหลอกใช้เลยอะ แหะๆ
Date : 2009-10-03 22:45:30 By : num
 


 

No. 9



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

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

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


Code
ถามเรื่องง่ายๆ แบบนี้มันเหมือนผมถูกหลอกใช้เลยอะ แหะๆ



Date : 2009-10-03 22:49:26 By : plakrim
 


 

No. 10



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

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

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

คือผมคิดว่า $m เป็นตัวเลข 1-12 เอามาใส่ในตัวแปร $months[$m] ก็ได้เป็นเดือนแล้วมันง่ายอะ

แต่ก็ไม่รู้ผมเข้าใจผิดอะไรป่าว คุณ oasiis อาจจะถามอีกเรื่องก็ได้ แปววว
Date : 2009-10-03 22:58:36 By : num
 


 

No. 11



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



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


ขอบคุณสำหรับความกรุณาน่ะครับ

Quote:
ถามเยอะกว่านี้ไม่ได้แล้วนาครับเดี๋ยวเก็บตังค์อิๆ
อะล้อเล่นครับ คือถามเรื่องง่ายๆ แบบนี้มันเหมือนผมถูกหลอกใช้เลยอะ แหะๆ


คือเรื่องของเรื่องผมเพิ่งเริ่มเขียนครับยังไม่ค่อยคร่อง ยังงงอยู่หลายจุดทีเดียว ไม่ได้คิดจะหลอกใช้อะไรเลยครับ
ถ้าเป็นการรบกวนก็ขอโทษด้วยครับ

Quote:
คือผมคิดว่า $m เป็นตัวเลข 1-12 เอามาใส่ในตัวแปร $months[$m] ก็ได้เป็นเดือนแล้วมันง่ายอะ

แต่ก็ไม่รู้ผมเข้าใจผิดอะไรป่าว คุณ oasiis อาจจะถามอีกเรื่องก็ได้ แปววว


คุณเข้าใจถูกแล้วครับ
Date : 2009-10-03 23:34:03 By : oasiis
 


 

No. 12



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

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

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

Quote:
คือเรื่องของเรื่องผมเพิ่งเริ่มเขียนครับยังไม่ค่อยคร่อง ยังงงอยู่หลายจุดทีเดียว ไม่ได้คิดจะหลอกใช้อะไรเลยครับ
ถ้าเป็นการรบกวนก็ขอโทษด้วยครับ


รับทราบครับ ถ้าเพิ่งเริ่มเขียนก็จะมีความสงสัยมากหน่อยครับ
ที่ผมเข้าใจว่าเขียนมานานแล้วเพราะเห็นเขียน logic ที่ซับซ้อนในกระทู้ https://www.thaicreate.com/php/forum/032305.html น่ะครับ

ศึกษาพื้นฐานไว้ให้แน่นๆ นะครับ ถ้าคล่องแล้วจะช่วยให้ไปต่อในเรื่องซับซ้อนได้ง่ายขึ้นครับ
เริ่มต้นหัดใช้ http://www.php.net/download-docs.php (ตัว chm) ให้คล่องครับจะมีสอนพื้นฐานทุกอย่างครับ

ยังถามได้นะครับ เดี๋ยวจะเข้าใจว่าไม่ให้ถามแล้ว แหะๆ
Date : 2009-10-04 06:36:57 By : num
 


 

No. 13



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



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


Quote:
รับทราบครับ ถ้าเพิ่งเริ่มเขียนก็จะมีความสงสัยมากหน่อยครับ
ที่ผมเข้าใจว่าเขียนมานานแล้วเพราะเห็นเขียน logic ที่ซับซ้อนในกระทู้ https://www.thaicreate.com/php/forum/032305.html น่ะครับ

ศึกษาพื้นฐานไว้ให้แน่นๆ นะครับ ถ้าคล่องแล้วจะช่วยให้ไปต่อในเรื่องซับซ้อนได้ง่ายขึ้นครับ
เริ่มต้นหัดใช้ http://www.php.net/download-docs.php (ตัว chm) ให้คล่องครับจะมีสอนพื้นฐานทุกอย่างครับ

ยังถามได้นะครับ เดี๋ยวจะเข้าใจว่าไม่ให้ถามแล้ว แหะๆ


ขอบคุณมากๆ ครับ สำหรับคำแนะนำ พี่ใจดีมากเลยแฮะ
Date : 2009-10-04 12:21:14 By : oasiis
 

   

ค้นหาข้อมูล


   
 

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