 |
รับค่าจาก Text Field มาเปรียบเทียบกับค่าที่อยู่ในฐานข้อมูลทำอย่างไรครับ |
|
 |
|
|
 |
 |
|
ลองเปลี่ยนให้อยู่ในรูปแบบวันที่แล้วค่อยเปรียบเทียบน่ะครับ ส่วนการจัดเก็บควรเก็บในรูปแบบของวันที่จริง ๆ
|
 |
 |
 |
 |
Date :
2010-06-22 06:36:44 |
By :
webmaster |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมลองเปลี่ยนในฐานข้อมูลให้เป็น date แล้วครับ แต่ก็ยังไม่ได้ครับ
|
 |
 |
 |
 |
Date :
2010-06-22 15:08:42 |
By :
ฝึกหัด |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
แน่ใจว่าเก็บแบบนี้ 2553-06-22
|
 |
 |
 |
 |
Date :
2010-06-22 21:47:30 |
By :
plakrim |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
แนวคิดผมคือ เมื่อมีคนเข้ามายืมของ ผมจะเอาวันที่ต้องการยืมไปเทียบกับวันคืนของที่อยู่ในฐานข้อมูลอ่ะครับ โดยผมจะเอาวันที่ผู้ยืมรายใหม่ต้องการยืม มาลบกับวันที่คืนของที่อยู่ในฐานข้อมูล ถ้าได้ค่าน้อยกว่า 0 ก็ให้ฟ้อง (จากโค้ตผมครับ) ไม่ทราบว่าผมควรแก้ไขโค้ตตรงไหน หรือควรแก้ไขในระดับแนวคิด รบกวนช่วยชี้แนะด้วยครับ
ปล.ที่ผมเก็บเป็น 2553-06-22 เพื่อจะได้เอามาลบกันให้ได้ผลลัพธ์ตามแนวคิดที่อธิบายไว้ข้างต้นครับ รบกวนช่วยชี้แนะเรื่องการเก็บเป็น วันที่ด้วยครับ ขอบคุณทุกท่านครับ
|
 |
 |
 |
 |
Date :
2010-06-22 22:49:02 |
By :
ฝึกหัด |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
รบกวนหน่อยครับ
|
 |
 |
 |
 |
Date :
2010-06-24 00:15:42 |
By :
ฝึกหัด |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ในฐานข้อมูลมันเก็บแบบ 2010-06-22 ป่าวครับ
|
 |
 |
 |
 |
Date :
2010-06-24 08:25:16 |
By :
aefcpe49 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมว่าวันที่ในฐานข้อมูลเก็บเป็น date ดีกว่ามั้ยครับ
มันดีกว่าเก็บเป็น varchar ส่วนเรื่องวันที่รับมาจาก Textbox นั้นก็ให้นำมาเปลี่ยน พ.ศ. เป็น ค.ศ.
|
 |
 |
 |
 |
Date :
2010-06-24 08:35:07 |
By :
naskw |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมเปลี่ยนในฐานข้อมูลเป็น date [2010-06-22] แล้วครับ แต่ว่ายังไม่ได้ครับ เพราะว่า เวลาผมกรอกวันที่ที่น้อยกว่ามันก็ยังไม่มีข้อความขึ้นมา ครับ รบกวนหน่อยครับ
|
 |
 |
 |
 |
Date :
2010-06-24 14:03:02 |
By :
ฝึกหัด |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
งงอะครับ เท่าที่ผมเข้าใจนะระบบของคุณมันเหมือนกับการจองของไว้หรือเปล่า
เช่น ของจากนาย A จะคืนวันที่ 20-06-2010 ถ้านาย B ต้องการยืมต้องเป็นหลังวันที่ 20 -06-2010
ผมเข้าใจถูกปะครับ ลองเอาโค้ดนะตอนนี้มาแปะไว้ละกันครับ
|
 |
 |
 |
 |
Date :
2010-06-24 14:16:14 |
By :
naskw |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ปกติเวลาผมจะเก็บเข้าฐานข้อมูล type date ผมจะจะเก็บมาในรูปไหนก็แล้วแต่ แต่ว่าผมจะเปลี่ยนให้เป็นรูปแบบ
Y-m-d เสมอครับ เพราะว่าในฐานข้อมูลจะเก็บรูปแบบไว้อย่างนี้
แต่ถ้าทำเป็น varchar แล้วเก็บก็ไม่ว่ากันครับ ผลเหมือนกัน เหมือนการเปรียบเทียบ string สองค่าเท่านั้นเอง
|
 |
 |
 |
 |
Date :
2010-06-24 14:38:58 |
By :
oxygenyoyo |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตามที่ท่าน anu เข้าใจถูกแล้วครับ ระบบจะเป็นการจองไว้ก่อน พอครบกำหนดก็เอาของได้ ตามตัวอย่างที่ท่าน anu ให้ไว้เลยครับ ตรงที่เป็นปัญหาคือเมื่อ นาย A ยืมไปและกำหนดวันคืน (ลงฐานข้อมูล) นาย B จะต้องยืมหลังจากวันที่นาย A คืนแล้ว
โค้ตครับ
Code (PHP)
<?
session_start();
$borrowdated=$_POST["datewantd"];
$datewant=$_POST["datewant"];
$checkidbring[]=$_POST["checkidbring"];
echo "count = ".count($checkidbring)."<br>";
for($i=0; $i<(count($checkidbring)-1); $i++)
{
$number=$_POST["number".$checkidbring[$i]];
$_SESSION["number".$checkidbring[$i]] = $number;
echo "checkidbring $i = ".$checkidbring[$i]."<br>";
include "connect.php";
$sql3="select * from tb_rentwant WHERE status='1' order by idrentwant='$checkidbring[$i]'";
$result3=mysql_db_query($dbname,$sql3);
//$num_row3= mysql_num_rows($result3);
$arr3 = mysql_fetch_array($result3);
$idbring= $arr3[idrentwant];
$rentdat = $arr3[rentdated];
$date1 =(int)$datewant-(int)$rentdat ;
if($date1<0)
{
echo"มีผู้เช่าก่อนหน้านี้แล้วกรุณาตรวจสอบวันที่ส่งคืนอีกครั้งครับ";
print "<meta http-equiv=refresh content=2;URL=assrent.php>"; exit() ;
$result = mysql_query($sql);
}
else{
$sql="select * from tb_rent WHERE idrent='$checkidbring[$i]'" ;
include "connect.php";
$sql="select * from tb_rent WHERE idrent='$checkidbring[$i]'";
$result=mysql_db_query($dbname,$sql);
$num_row= mysql_num_rows($result);
$num_fields= mysql_num_fields($result);
echo "numrow = " .$num_row;
$arr = mysql_fetch_array($result);
$idbring= $arr[idrent];
$name = $arr[name];
$detail = $arr[detail];
$amount = $arr[amount];
$unit = $arr[unit];
$status = $arr[status];
$temp =(int)$amount-(int)$number ;
$tempmaterialID= $checkidbring[$i];
if($temp>=0)
{
$sql2= "INSERT INTO tb_rentwant (idrentwant, amountwant,rentproject,rentusername,rentdate,rentdated)VALUES('$checkidbring[$i]','$number','$project','$sess_username','$datewant','$borrowdated')";
echo "$sql2 <br>";
$result2 = mysql_query($sql2);
}
}
}
session_register("checkidbring");
header("location:assrent2.php");
?>
ปล.ผมรับค่ามาจากเช็คบ็อกครับ
*ขอบคุณทุกท่านมากๆครับ*
|
 |
 |
 |
 |
Date :
2010-06-25 13:41:20 |
By :
ฝึกหัด |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองเช็ค sql statement ดูค่ะ ค่อย ๆ bug ดู
echo ค่าออกมาดูว่าถูกต้องไหม
|
 |
 |
 |
 |
Date :
2010-06-25 13:48:10 |
By :
ultrasiam |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|