|
|
|
ช่วยดู code นี้ให้หน่อยครับ อยากให้มันคำนวนจำนวนวัน |
|
|
|
|
|
|
|
บอกหน่อยนะครับ
|
|
|
|
|
Date :
2010-03-01 02:05:35 |
By :
midobun |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
จาก 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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณ คุณonedan มากๆครับ ได้แล้ว
แล้วถ้าต้องการหาว่า วันที่ยืมไปแล้วกี่วันต้องคิดยังไงครับ
สมุติ ยืมวันที่ 1/03/2010 กำหนดคืน 8/03/2010 สมุติวันนี้เป็นวันที่3 ก็ขึ้นว่า ยืมไปแล้ว 3 วัน
|
|
|
|
|
Date :
2010-03-01 13:32:18 |
By :
midobun |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณครับ แต่คือว่าผมไม่เข้าใจเรื่อง mktime อะครับ พอจะ ฃ่วยอธิบายอีกนิดหน่อยได้มั้ยครับ
ขอบพระคุณมากครับ
|
|
|
|
|
Date :
2010-03-01 18:20:21 |
By :
midobun |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แล้วทำยังถึงจะดึงค่าวันที่ยืม ออกมาคำนวนกับ mktime ได้ครับ
|
|
|
|
|
Date :
2010-03-01 18:32:19 |
By :
midobun |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<?
$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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อ้าว มาไวหน้านี้หรอ
ถ้ามาไวหน้านี้ ข้อมูลที่ insert ลง database เพี้ยงหมดสิ
|
|
|
|
|
Date :
2010-03-01 20:43:47 |
By :
onedan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอาลง database ไม่ได้หรอครับ
แป่ว ก็กะว่าจะดึงเอาข้อมูลจาดดาต้าเบสมาแสดงเป็นตางรางอะครับ
รหัสนักศึกษา | รหัสหนังสือ | วันที่ยืม | วันครบกำหนดคืน | จำนวนวันที่ยืมไป < ตรงนี้ไม่เข้าใจอย่างแรง
คือว่าถ้าเอาลงฐานข้อมูลไม่ได้แล้วมันจะต้องไปคำนวนที่ไหนอะครับ หรือต้องสร้างหน้า code ขึ้นมาใหม่
|
|
|
|
|
Date :
2010-03-01 23:13:39 |
By :
midobun |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้ยังครับ ถ้ายังขอข้อมูล tb_library ด้วยละกันนะ จะได้ช่วยๆกัน
|
|
|
|
|
Date :
2010-03-02 01:25:22 |
By :
onedan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ยังไม่ได้ครับ
ข้อมูลในตารางครับ
# 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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอานี้ไปละกัน
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
หน้าบันทึก
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โอ้ยยย ได้แล้วครับ อันด้านบนผิด
ลองเอาโค๊ดที่ให้มาไปไว้แบบนี้
<?
$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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่ต้องไปรอหรอก แค่ลองไปเปลี่ยนวันที่ของเครื่องดูนะ
|
|
|
|
|
Date :
2010-03-02 21:42:27 |
By :
onedan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
วันมันไม่เปลี่ยนตามอะครับ ขึ้น 1 ตลอดเลย
ถ้าเขียนตามที่พี่บอกได้อยู่ครับ
แต่จะให้มันแบ่งหน้าได้ด้วย ช่วยดูให้หน่อยนะครับ ขอบคุณครับ
|
|
|
|
|
Date :
2010-03-10 20:58:45 |
By :
midobun |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอทราบว่า ถ้าต้องหาวันที่ค้างส่งทำอย่างไรครับ ใครรู้ช่วยตอบที่
|
|
|
|
|
Date :
2010-03-21 13:41:23 |
By :
d_link |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|