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 > ช่วยดู code นี้ให้หน่อยครับ อยากให้มันคำนวนจำนวนวัน



 

ช่วยดู code นี้ให้หน่อยครับ อยากให้มันคำนวนจำนวนวัน

 



Topic : 039727



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



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




Code (PHP)
<!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=windows-874" />
<title>Untitled Document</title>
</head>

<body>
<?
$stu_id=$_POST[stu_id];
$book_id=$_POST[book_id];
$today_insert=date("Y-m-d");   /// วันที่ยืม
$date_return=time() + (86400*7); /// วันครบกำหนดคืน

if	($stu_id=="" OR $book_id=="")		{
	echo"<h3><a href='out.php'>
	กรุณากรอกข้อมูลให้ครบด้วย</a></h3>";
	exit();
}
?>
<?
	include "connect.php";
	$sql="insert into tb_library
	values('','$stu_id','$ิbook_id','$today_insert','$date_return')";
	$result=mysql_db_query($dbname,$sql);
	if($result)	{
			echo "<h3>ข้อมูลของท่านถูกบันทึกเรียบร้อยแล้ว</h3>";
			echo "<A HREF='out.php'>กลับ</A>";
	} else {
			echo "<h3>ไม่สามารถบันทึกข้อมูลได้</h3>";
			echo "<A HREF='out.php'>กลับ</A>";
	}
mysql_close();
?>
</body>
</html>


มันไม่แสดงวันครบกำหนดคืน ครับ มันขึ้น 0000-00-00

ต้องการคำนวนว่าวันที่ยืมไปกี่วันแล้ว ทำอย่างไรครับ แนะนำทีครับ



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-03-01 01:28:38 By : midobun View : 1735 Reply : 20
 

 

No. 1



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



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


บอกหน่อยนะครับ






Date : 2010-03-01 02:05:35 By : midobun
 


 

No. 2

Guest


Code
$date_return=date("Y-m-d",strtotime("+1 week"));

or
Code
$date_return=date("Y-m-d",strtotime("+7 day"));

Date : 2010-03-01 04:35:54 By : เซ็งตัวเอง
 

 

No. 3



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

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

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


จาก code นั้น ค่าของ $date_return ยังเป็น timestamp
และถ้าหากในฐานข้อมูลเก็บแบบ date
จะต้องแก้เป็น

Code (PHP)
?
$stu_id=$_POST[stu_id];
$book_id=$_POST[book_id];
$today_insert=date("Y-m-d"); /// วันที่ยืม
$date_return=time() + (86400*7); /// วันครบกำหนดคืน
$date_return=date("Y-m-d",$date_return);  

if ($stu_id=="" OR $book_id=="") {
echo"<h3><a href='out.php'>
กรุณากรอกข้อมูลให้ครบด้วย</a></h3>";
exit();
}
?>

Date : 2010-03-01 10:28:33 By : onedan
 


 

No. 4



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



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


ขอบคุณ คุณonedan มากๆครับ ได้แล้ว

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

สมุติ ยืมวันที่ 1/03/2010 กำหนดคืน 8/03/2010 สมุติวันนี้เป็นวันที่3 ก็ขึ้นว่า ยืมไปแล้ว 3 วัน
Date : 2010-03-01 13:32:18 By : midobun
 


 

No. 5



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

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

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


Code (PHP)
$date_insert = mktime(0,0,0,02,27,2010); // วันที่จอง จะต้องดึงจากฐานข้อมูล
$date_now = time();
$date_cout = ($date_now - $date_insert) + 86400;
$date_cout = $date_cout / 86400;
echo (int)$date_cout;

Date : 2010-03-01 17:54:49 By : onedan
 


 

No. 6



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



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


ขอบคุณครับ แต่คือว่าผมไม่เข้าใจเรื่อง mktime อะครับ พอจะ ฃ่วยอธิบายอีกนิดหน่อยได้มั้ยครับ

ขอบพระคุณมากครับ
Date : 2010-03-01 18:20:21 By : midobun
 


 

No. 7



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

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

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


mktime เป็น function ใช้สร้าง timestamp

mktime ([ int $hour = date("H") [, int $minute = date("i") [, int $second = date("s") [, int $month = date("n") [, int $day = date("j") [, int $year = date("Y") [, int $is_dst = -1 ]]]]]]] )
Date : 2010-03-01 18:26:32 By : onedan
 


 

No. 8



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



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


แล้วทำยังถึงจะดึงค่าวันที่ยืม ออกมาคำนวนกับ mktime ได้ครับ
Date : 2010-03-01 18:32:19 By : midobun
 


 

No. 9



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



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


<?
$stu_id=$_POST[stu_id];
$book_id=$_POST[book_id];
$today_insert=date("Y-m-d");
$date_return=time() + (86400*7);
$date_return=date("Y-m-d",$date_return);
$date_insert = mktime(0,0,0,00,00,0000); // วันที่จอง จะต้องดึงจากฐานข้อมูล
$date_now = time();
$date_cout = ($date_now - $date_insert) + 86400;
$date_cout = $date_cout / 86400;

if ($stu_id=="" OR $book_id=="") {
echo"<h3><a href='out.php'>
กรุณากรอกข้อมูลให้ครบด้วย</a></h3>";
exit();
}
?>
<?
include "connect.php";
$sql="insert into tb_library
values('','$stu_id','$book_id','$today_insert','$date_return','$date_cout')";
$result=mysql_db_query($dbname,$sql);
if($result) {
echo "<h3>ข้อมูลของท่านถูกบันทึกเรียบร้อยแล้ว</h3>";
echo "<A HREF='out.php'>กลับ</A>";
} else {
echo "<h3>ไม่สามารถบันทึกข้อมูลได้</h3>";
echo "<A HREF='out.php'>กลับ</A>";
}
mysql_close();
?>

แบบนี้ถูกมั้ยครับ - -
Date : 2010-03-01 18:42:41 By : midobun
 


 

No. 10



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

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

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


อ้าว มาไวหน้านี้หรอ
ถ้ามาไวหน้านี้ ข้อมูลที่ insert ลง database เพี้ยงหมดสิ
Date : 2010-03-01 20:43:47 By : onedan
 


 

No. 11

Guest


เอาลง database ไม่ได้หรอครับ

แป่ว ก็กะว่าจะดึงเอาข้อมูลจาดดาต้าเบสมาแสดงเป็นตางรางอะครับ

รหัสนักศึกษา | รหัสหนังสือ | วันที่ยืม | วันครบกำหนดคืน | จำนวนวันที่ยืมไป < ตรงนี้ไม่เข้าใจอย่างแรง

คือว่าถ้าเอาลงฐานข้อมูลไม่ได้แล้วมันจะต้องไปคำนวนที่ไหนอะครับ หรือต้องสร้างหน้า code ขึ้นมาใหม่
Date : 2010-03-01 23:13:39 By : midobun
 


 

No. 12



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

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

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


ได้ยังครับ ถ้ายังขอข้อมูล tb_library ด้วยละกันนะ จะได้ช่วยๆกัน
Date : 2010-03-02 01:25:22 By : onedan
 


 

No. 13



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



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


ยังไม่ได้ครับ

ข้อมูลในตารางครับ

# phpMyAdmin SQL Dump
# version 2.5.4
# http://www.phpmyadmin.net
#
# โฮสต์: localhost
# เวลาในการสร้าง: 02 มี.ค. 2010 น.
# รุ่นของเซิร์ฟเวอร์: 4.0.16
# รุ่นของ PHP: 4.3.4
#
# ฐานข้อมูล : `library`
#

# --------------------------------------------------------

#
# โครงสร้างตาราง `tb_library`
#

CREATE TABLE `tb_library` (
`no` int(11) NOT NULL auto_increment,
`stu_id` varchar(10) NOT NULL default '',
`book_id` varchar(10) NOT NULL default '',
`book_out` date NOT NULL default '0000-00-00',
`book_return` date NOT NULL default '0000-00-00',
`date_cout` int(11) NOT NULL default '0',
PRIMARY KEY (`no`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;

#
# dump ตาราง `tb_library`
#
Date : 2010-03-02 01:38:10 By : midobun
 


 

No. 14



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

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

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


เอานี้ไปละกัน
Code (PHP)
function onedan($a){
	list($Y,$M,$D)=explode("-",$a);
	$date_insert = mktime(0,0,0,$M,$D,$Y);
	$date_now = time();
	$date_cout = ($date_now - $date_insert) + 86400;
	$date_cout = $date_cout / 86400;
	return (int)$date_cout;
}
echo onedan("2010-02-28"); // <--- ตัวอย่างการเรียกใช้


รหัสนักศึกษา | รหัสหนังสือ | วันที่ยืม | วันครบกำหนดคืน | onedan(วันที่ยืม)

ไม่รู้ว่าจะเข้าใจไหม
Date : 2010-03-02 01:38:51 By : onedan
 


 

No. 15



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

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

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


หน้าบันทึก

Code (PHP)
<?
$stu_id=$_POST[stu_id];
$book_id=$_POST[book_id];
$today_insert=date("Y-m-d"); /// วันที่ยืม
$date_return=time() + (86400*7); /// วันครบกำหนดคืน
$date_return=date("Y-m-d",$date_return);  

if ($stu_id=="" OR $book_id=="") {
echo"<h3><a href='out.php'>
กรุณากรอกข้อมูลให้ครบด้วย</a></h3>";
exit();
}
?>



หน้าแสดงข้อมูล

Code (PHP)
<?php
function onedan($a){
	list($Y,$M,$D)=explode("-",$a);
	$date_insert = mktime(0,0,0,$M,$D,$Y);
	$date_now = time();
	$date_cout = ($date_now - $date_insert) + 86400;
	$date_cout = $date_cout / 86400;
	return (int)$date_cout;
}
//echo onedan("2010-02-28");
?>
<table border="0" cellspacing="0" cellpadding="2">
<?php
include "connect.php";
$SQL="SELECT * FROM tb_library";
$SQL_QUERY=mysql_db_query($dbname,$SQL);
while($result=mysql_fetch_array($SQL_QUERY)){
?>
  <tr>
    <td><?php echo $result['stu_id'];?></td>
    <td><?php echo $result['book_id'];?></td>
    <td><?php echo $result['book_out'];?></td>
    <td><?php echo $result['book_return'];?></td>
    <td><?php echo onedan($result['book_out']);?></td>
  </tr>
<?php
}
?>
</table>

Date : 2010-03-02 01:50:51 By : onedan
 


 

No. 16



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



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


function onedan($a){
list($Y,$M,$D)=explode("-",$a);
$date_insert = mktime(0,0,0,$M,$D,$Y);
$date_now = time();
$date_cout = ($date_now - $date_insert) + 86400;
$date_cout = $date_cout / 86400;
return (int)$date_cout;
}
echo onedan("today_insert"); // <--- ตัวอย่างการเรียกใช้

ประมานนนี้หรือป่าวครับ

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

แล้วเอาไปรวมกับโค๊คเดิมแบบนี้ได้มั้ยครับ หรือว่าเอาไปไว้ที่หน้าแสดงข้อมูล
<?
$stu_id=$_POST[stu_id];
$book_id=$_POST[book_id];
$today_insert=date("Y-m-d");
$date_return=time() + (86400*7);
$date_return=date("Y-m-d",$date_return);
function onedan($a){
list($Y,$M,$D)=explode("-",$a);
$date_insert = mktime(0,0,0,$M,$D,$Y);
$date_now = time();
$date_cout = ($date_now - $date_insert) + 86400;
$date_cout = $date_cout / 86400;
return (int)$date_cout;
}
echo onedan("$today_insert"); // <--- ตัวอย่างการเรียกใช้

if ($stu_id=="" OR $book_id=="") {
echo"<h3><a href='out.php'>
กรุณากรอกข้อมูลให้ครบด้วย</a></h3>";
exit();
}
?>
<?
include "connect.php";
$sql="insert into tb_library
values('','$stu_id','$book_id','$today_insert','$date_return','$date_cout')";
$result=mysql_db_query($dbname,$sql);
if($result) {
echo "<h3>ข้อมูลของท่านถูกบันทึกเรียบร้อยแล้ว</h3>";
echo "<A HREF='out.php'>กลับ</A>";
} else {
echo "<h3>ไม่สามารถบันทึกข้อมูลได้</h3>";
echo "<A HREF='out.php'>กลับ</A>";
}
mysql_close();
?>
Date : 2010-03-02 01:57:47 By : midobun
 


 

No. 17



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



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


โอ้ยยย ได้แล้วครับ อันด้านบนผิด

ลองเอาโค๊ดที่ให้มาไปไว้แบบนี้

<?
$today_insert=date("Y-m-d");
$count=0;
$objConnect = mysql_connect("localhost","root","") or die("Error Connect to Database");
$objDB = mysql_select_db("library");
$strSQL ="SELECT * FROM tb_library";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$Num_Rows = mysql_num_rows($objQuery);

$Per_Page = 10; // Per Page

$Page = $_GET["Page"];
if(!$_GET["Page"])
{
$Page=1;
}

$Prev_Page = $Page-1;
$Next_Page = $Page+1;

$Page_Start = (($Per_Page*$Page)-$Per_Page);
if($Num_Rows<=$Per_Page)
{
$Num_Pages =1;
}
else if(($Num_Rows % $Per_Page)==0)
{
$Num_Pages =($Num_Rows/$Per_Page) ;
}
else
{
$Num_Pages =($Num_Rows/$Per_Page)+1;
$Num_Pages = (int)$Num_Pages;
}

$strSQL .=" order by no ASC LIMIT $Page_Start , $Per_Page";
$objQuery = mysql_query($strSQL);
?>
<? function onedan($a){
list($Y,$M,$D)=explode("-",$a);
$date_insert = mktime(0,0,0,$M,$D,$Y);
$date_now = time();
$date_cout = ($date_now - $date_insert) + 86400;
$date_cout = $date_cout / 86400;
return (int)$date_cout;
}
?>
</p>
<p align="center"><strong>รายงายหนังสือค้างส่ง</strong></p>
<table width="952" border="1" align="center" bordercolor="#000000">
<tr>
<th width="83"> <div align="center">No.</div></th>
<th width="186"> <div align="center">รหัสนักศึกษา</div></th>
<th width="201"> <div align="center">รหัสหนังสือ</div></th>
<th width="223"> <div align="center">ยืมเมื่อ</div></th>
<th width="225"> <div align="center">วันครบกำหนดคืน</div></th>
<th width="83"> <div align="center">จำนวนวันที่ยืม</div></th>
</tr>
<?
while($objResult = mysql_fetch_array($objQuery))
{
?>
<tr>
<td><div align="center"><?=$objResult["no"];?></div></td>
<td><div align="center"><?=$objResult["stu_id"];?></div></td>
<td><div align="center"><?=$objResult["book_id"];?></div></td>
<td><div align="center"><?=$objResult["book_out"];?></div></td>
<td><div align="center"><?=$objResult["book_return"];?></div></td>
<td><div align="center"><? echo onedan("$today_insert"); ?></div></td>

</tr>
<?
}
?>

ขอบคุณ คุณ onedan มากครับที่ให้คำแนะนำและปรึกษา เด่วผมมีเรื่องถามอีกเยอะ ก็ขอรบกวนด้วยนะครับ


ยังไงก็ต้องรอดูว่ามันจะเปลี่ยนไปตามวันหรือจะขึ้นอยู่แต่ค่าเดียวยตลอด
Date : 2010-03-02 02:06:17 By : midobun
 


 

No. 18



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

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

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


ไม่ต้องไปรอหรอก แค่ลองไปเปลี่ยนวันที่ของเครื่องดูนะ
Date : 2010-03-02 21:42:27 By : onedan
 


 

No. 19



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



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


วันมันไม่เปลี่ยนตามอะครับ ขึ้น 1 ตลอดเลย

ถ้าเขียนตามที่พี่บอกได้อยู่ครับ

แต่จะให้มันแบ่งหน้าได้ด้วย ช่วยดูให้หน่อยนะครับ ขอบคุณครับ
Date : 2010-03-10 20:58:45 By : midobun
 


 

No. 20

Guest


ขอทราบว่า ถ้าต้องหาวันที่ค้างส่งทำอย่างไรครับ ใครรู้ช่วยตอบที่
Date : 2010-03-21 13:41:23 By : d_link
 

   

ค้นหาข้อมูล


   
 

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