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

HOME > PHP > PHP Forum > รบกวนด้วยค่ะ ถ้าต้องการนำข้อมูลในฟิลด์วันเริ่มและวันสุดท้ายมาโชว์



 

รบกวนด้วยค่ะ ถ้าต้องการนำข้อมูลในฟิลด์วันเริ่มและวันสุดท้ายมาโชว์

 



Topic : 047043



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



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




ค่ะ ตามหัวข้อ หัวกระทู้อาจจะงง หน่อย

คือประมาณว่ามีฟิลด์สองฟิลด์ค่ะ คือ Field date_begin and date_end;

เช่น date_begin = 2010-11-01 และ date_end = 2010-11-11;

ให้แสดงผลออกมาแบบนี้ค่ะใน mysql นะค่ะ

2010-11-01
2010-11-02

จนถึง

2010-11-11

รบกวนด้วยนะค่ะ



Tag : PHP, MySQL









ประวัติการแก้ไข
2010-08-14 16:28:05
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-08-14 16:15:44 By : มิ้วกี้ View : 868 Reply : 14
 

 

No. 1



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



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

ใช้ between ดูยังอะครับ
แต่ความจริงใช้ where (startdate >= '2010-11-01' AND enddate <= '2010-11-11')

ก็น่าจะได้มั้ง






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-14 16:48:46 By : compeng
 


 

No. 2



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



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


ลองแล้วค่ะ between
มันจะโชว์ว่ามีค่าอะไรบ้างที่อยู่ระหว่าง startdate กับ enddate


หรือว่าเราต้องเอาค่าระหว่าง startdate ลบกับ enddate และจะได้ระยะเวลาของวัน แล้วนำมาคำนวณต่อใน php ค่ะ

หรือว่ามีวิธีดีๆกว่านี้ช่วยแนะนำด้วยนะค่ะ จะตายแล้ว


ประวัติการแก้ไข
2010-08-14 17:06:39
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-14 17:05:49 By : มิ้วกี้
 

 

No. 3



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



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


ตามคุณ King_R_Ther น่าจะได้นะครับ ถ้าฟิวเก็บวันที่ไม่เปง varchar เฉยๆ นะครับ ต้องเก็บเป็น datetime นะครับลองดูครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-14 19:11:14 By : mflutoday
 


 

No. 4

Guest


Code (VB.NET)
CREATE TABLE `datetest` (
  `p_id` varchar(25) NOT NULL default '',
  `p_name` varchar(255) default NULL,
  `startdate` date default NULL,
  `enddate` date default NULL,
  PRIMARY KEY  (`p_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--------------

INSERT INTO `datetest` VALUES ('p_001', 'peak season', '2010-08-14', '2010-08-17');


นี่ค่ะ database ใช้ between ก็ไม่ได้อยู่ดีอ่ะค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-14 19:40:35 By : milky จำpwd ไม่ได้อ่ะ
 


 

No. 5

Guest


ตอบความคิดเห็นที่ : 4 เขียนโดย : milky จำpwd ไม่ได้อ่ะ เมื่อวันที่ 2010-08-14 19:40:35
รายละเอียดของการตอบ ::
Code (VB.NET)
SELECT *
FROM `datetest`
WHERE (
startdate >= '2010-11-01'
AND enddate <= '2010-11-11'
)



กำใส่ข้อมูล startdate กับ enddate แก้เป็น 2010-11-01 , 2010-11-11 ตามลำดับค่ะ

เริ่มงงเรื่อยๆ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-14 19:43:59 By : milky จำpwd ไม่ได้อ่ะ
 


 

No. 6

Guest


อยากให้มันออกมาในรูปแบบนี้ค่ะ

p_name date

peak season 2010-11-01
peak season 2010-11-02


จนถึง

date

2010-11-11

นะค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-14 19:51:44 By : milky จำpwd ไม่ได้อ่ะ
 


 

No. 7



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



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


Code (PHP)
SELECT * 
FROM datetest a 
WHERE 
	a.startdate <='2010-08-15' AND a.enddate >= '2010-08-17'


ลองอีกทีเจ้า
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-14 19:59:54 By : mflutoday
 


 

No. 8

Guest


ไม่ได้อ่ะค่ะ หรือว่า จะให้โชว์ค่าที่อยู่ในระหว่าง field ไม่ได้ เอาแค่วันที่ที่อยู่ใน


field startdate กับ enddate นะค่ะ ทั้งสองฟิลด์เป็น type date ค่ะ

เช่น startdate = 2010-11-01 และ enddate= 2010-11-11 มันจะห่างอยู่ 11 วัน;

ให้แสดงผลออกมาแบบนี้ค่ะใน mysql นะค่ะ

2010-11-01
2010-11-02

จนถึง

2010-11-11
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-14 20:08:58 By : milky จำpwd ไม่ได้อ่ะ
 


 

No. 9



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



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


ยัง งง นะคับ

สมมุตินะคับ data ใน mysql

1. aaa bbb 2010-08-01 2010-08-10
2. aaa bbb 2010-08-03 2010-08-18
3. aaa bbb 2010-08-09 2010-08-30
4. aaa bbb 2010-08-10 2010-08-11
5. aaa bbb 2010-08-16 2010-08-20


ถ้าผมใช้

a.startdate <='2010-08-01' AND a.enddate >= '2010-08-20'

ข้อมูลที่ออกมาก่จะเป็น 1,2,4,5

แต่ถ้าใช้

a.startdate <='2010-08-10' AND a.enddate >= '2010-08-20'

ข้อมูลที่ออกมาก่จะเป็น 4,5

a.startdate <='2010-08-01' AND a.enddate >= '2010-08-30'
มันก็จะออกมาหมด ซึ่งผมว่ามันน่าจะถูกละนะคับ หรือผมยังไม่เข้าใจวัตถุประสงค์ครับลองตอบมาอีกทีนะครับ สู้ๆ ครับ

ปอจัง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-14 20:21:44 By : mflutoday
 


 

No. 10

Guest


โอเคค่ะ งั้นเอาใหม่นะค่ะ พอมานั่งคิดดูดีๆๆเรานี่พิมพ์ไรกำกวมมากๆ


ก็คือ งานที่เราทำอยู่่เราจะให้สมาชิกใส่ค่า startdate ที่รับมาจาก calerdar และให้สมาชิกทำการเลือกว่าจะใส่กี่วัน และทำการ insert ค่าลงฐานข้อมูลโดยที่ข้อมูลทีเ่ป็น enddate ได้ืำทำการแปลงค่าเปน date แล้วอัพลงไปแล้วนะค่ะ

แล้วคราวนี้สิ่งที่เราอยากทราบว่า เราสามารถที่จะนำ ค่า startdate นั้นมารันออกมาเป็นวันๆๆ จนถึง วันที่สิ้นสุดหรือก็คือ enddate นะค่ะได้หรือไม่


พอดีกำลังจะวางแพลนการเขียนน่ะค่ะ ว่า mysql สามารถที่จะได้ไหม
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-14 20:36:08 By : milky จำpwd ไม่ได้อ่ะ
 


 

No. 11



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



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


แอดเอ็มมานะครับดูเหมือนจะต้องคุยยาว [email protected] สู้ๆครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-14 20:57:19 By : mflutoday
 


 

No. 12



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



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


Quote:
แล้วคราวนี้สิ่งที่เราอยากทราบว่า เราสามารถที่จะนำ ค่า startdate นั้นมารันออกมาเป็นวันๆๆ จนถึง วันที่สิ้นสุดหรือก็คือ enddate นะค่ะได้หรือไม่


เอาค่าที่เก็บในฐานข้อมูลมาแสดง
ตั้งแต่วันที่เริ่มต้น
ถึงวันสิ้นสุด
แบบนี้หรือเปล่าครับ

ถ้าไม่ใช่

ถ้าใช่ ลองเอาไปรันเป็นแนวทางครับ

Code (PHP)
<?
		$date_begin="2010-08-05";
		$date_end="2010-08-10";
	    $show_date=(strtotime($date_end) - strtotime($date_begin))/(60*60*24);

for($i=0;$i<=$show_date;$i++)
  {
     echo date('Y-m-d',strtotime('+'.$i.' day',strtotime($date_begin)));
	 echo"<BR>";
  }

?>



ประวัติการแก้ไข
2010-08-14 22:42:20
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-14 22:16:04 By : iieszz
 


 

No. 13



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



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


เยี่ยมเลยครับคุณ iieszz มาเสนอแบบ DB อีกทางครับ อิอิ มาช่วยกันสร้างสังคมแห่งการเรียนรู้เนอะๆ

Code (PHP)
$conn=@mysql_connect("localhost","root","root");
$db=@mysql_select_db("member");



mysql_query("CREATE  TEMPORARY TABLE calendar (c_date DATE);");
mysql_query("DELIMITER $$ ");
mysql_query("
							CREATE PROCEDURE sp_createcalendar()
							 BEGIN
								 DECLARE i INT DEFAULT 0 ;
								 DECLARE j INT DEFAULT 1 ;
								 DECLARE startdate DATE;
								 
								 SELECT CURDATE() INTO startdate;
								 SELECT DATEDIFF('2010-08-22',CURDATE()) INTO j;   
									  
								 WHILE i<=j DO
										INSERT INTO calendar SELECT DATE_ADD(startdate,INTERVAL i DAY); 
								 		SET i=i+1;
								 END WHILE;
								 
							END") ;
mysql_query("DELIMITER ;");
mysql_query("CALL sp_createcalendar();");


$query=mysql_query("SELECT * FROM calendar");
while($rs=@mysql_fetch_array($query))
{
	echo $rs["c_date"];
	echo "<br>";
}

mysql_query("DROP PROCEDURE IF EXISTS sp_createcalendar;");
mysql_query("DROP  TABLE IF EXISTS calendar;");

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-15 00:46:11 By : mflutoday
 


 

No. 14

Guest


ขอบคุณทั้งสองท่านมากๆๆค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-15 13:00:21 By : milky จำpwd ไม่ได้อ่ะ
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
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 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่