|
|
|
สอบถามเรื่องการทำระบบค้นหาครับ โดยค้นหาจากวันที่ครับ |
|
|
|
|
|
|
|
หรือพอจะมีโค๊ดที่ค้นหาโดยมีวันที่เข้ามาเกี่ยวข้องอะครับ รบกวนหน่อยครับ ขอบคุณครับ
|
|
|
|
|
Date :
2012-01-11 16:20:06 |
By :
DonutJung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่มีใครตอบเลย รบกวนพี่ mr.win ด้วยครับ พอดีโปรเจคผมเหลืออีกระบบนี้ระบบเดียว ก้เสร็จแล้วครับ รบกวนนิดนึงนะครับ
|
|
|
|
|
Date :
2012-01-11 17:01:27 |
By :
DonutJung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แปลงรุปแบบการจัดเก็บใหม่ครับ ไม่งั้นปัญหาไม่จบครับ
|
|
|
|
|
Date :
2012-01-11 20:32:55 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
การแปลงรูปแบบการจัดเก็บใหม่ พี่พอมีโค๊ดไหมครับ หรือมีขั้นตอนอย่างไรบ้างอะครับ ขอบคุณครับ
|
|
|
|
|
Date :
2012-01-12 09:34:48 |
By :
DonutJung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เปลี่ยน Format ของวันที่ให้เป็น YYYY-MM-DD ครับ
|
|
|
|
|
Date :
2012-01-12 09:44:56 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เข้าไปเปลี่ยนที่ฐานข้อมูลใช่เปล่าครับ จาก varchar ให้เก็บเป็น date หรอครับ
|
|
|
|
|
Date :
2012-01-12 09:48:22 |
By :
DonutJung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เขียน query แล้วกำหนด format ให้เป็นปีก็ได้ครับ ไม่ต้องไปเปลี่ยนใน database
|
|
|
|
|
Date :
2012-01-12 09:52:11 |
By :
nattapol.siri |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากเลยครับ เดี๋ยวลองทำดู
|
|
|
|
|
Date :
2012-01-12 09:52:43 |
By :
DonutJung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมลองทำแล้วอะครับ มันเอ็กซิคิ้วไม่ได้อะครับ
Code (PHP)
<?
$user = "root";
$password = "root";
$db_connect = mysql_connect("localhost",$user,$password) or die("ไม่สามารถเชื่อมต่อฐานข้อมูลได้");
mysql_query("SET NAMES UTF8", $db_connect);
mysql_select_db("myprdB",$db_connect) or die("ติดต่อฐานข้อมูลไม่ได้");
$date1 = $_REQUEST['search1'];
$date2 = $_REQUEST['search2'];
$sql_str = "SELECT * FORMAT(Now(),'YYYY-MM-DD') as PerDate FROM tbbookout where bo_date between '" . $date1 . "' AND '" . $date2 . "' ";
// $sql_str = "SELECT * FROM tbbookout where bo_date between '" . $date1 . "' AND '" . $date2 . "' ";
$sql_result = mysql_query($sql_str,$db_connect) or die("เอ็กซิคิวต์คำสั่ง SQL ไม่ได้");
// echo $sql_str;
?>
<table width="200" border="1">
<tr>
<? while($row = mysql_fetch_array($sql_result)) { ?>
<td> <?= $row['bo_id']; ?> </td>
<? } ?>
</tr>
</table>
|
ประวัติการแก้ไข 2012-01-12 10:26:16
|
|
|
|
Date :
2012-01-12 10:25:39 |
By :
DonutJung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองเปลี่ยน now เป็น field ตัวเองสิครับ
|
|
|
|
|
Date :
2012-01-12 10:31:29 |
By :
evanesscaz |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ก้ เอ็กซิคิวต์คำสั่ง SQL ไม่ได้ อะครับ ผมลองเปลี่ยนแล้วอะครับ จาก now เป็น bo_date อะครับ
|
|
|
|
|
Date :
2012-01-12 10:43:05 |
By :
DonutJung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตรง or die น่าเปลี่ยนเป็น mysql_error() นะครับ ผิดตรงไหน จะได้ทราบ
|
|
|
|
|
Date :
2012-01-12 11:04:15 |
By :
evanesscaz |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ยังไม่ได้อะคับ T_T ไม่เป็นไรครับ ขอบคุณมากครับ เดี่ยวผมลองหาข้อมูลดูอีกทีหนึ่งครับ ไม่ได้ยังไงเดี๋ยวมาโพสต์นะครับ ขอบคุณทุกคนมากครับ
|
|
|
|
|
Date :
2012-01-12 11:26:53 |
By :
DonutJung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แนะนำให้เปลี่ยน type นะครับ ไม่งั้นยาว
ข้อมูลมันเยอะไหมครับ
ถ้าไม่เยอะ หรือว่า แค่เป็นตัว test แนะนำให้เป็น type field bo_date จาก varchar เป็น date เลยครับ
คำสั่งตอน insert ตรง ช่อง field bo_date ให้ใช้ now() เช่น value( '', now() ) แบบนี้จะได้ ค่าdate ของวันๆนั้นเลยครับ
จะได้เป็น 2012-01-12
ถ้าคุณเปลี่ยน สามารถ
SELECT * FROM tbbookout WHERE bo_date BETWEEN '" . $date1 . "' AND '" . $date2 . "';
ตามที่คุณต้องการได้เลยครับ
|
|
|
|
|
Date :
2012-01-12 11:51:23 |
By :
หาของ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
STR_TO_DATE
|
|
|
|
|
Date :
2012-01-12 12:43:55 |
By :
ikikkok |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
นี้ภาพจากฐานข้อมูลครับ
|
|
|
|
|
Date :
2012-01-12 13:06:12 |
By :
DonutJung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อันนี้เป็นฟอร์มที่ส่งไปอะครับ ชื่อไฟล์ test01.php
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=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?
include("calendar.php");
?>
<form id="test" action="test02.php" method="post">
<input name="search1" id="search1" size="20" readonly="readonly" />
<a href="javascript:displayDatePicker('search1')">
<img border="0" src="images/formcal.gif" width="16" height="16"></a>
<input name="search2" id="search2" size="20" readonly="readonly" />
<a href="javascript:displayDatePicker('search2')">
<img border="0" src="images/formcal.gif" width="16" height="16"></a>
<input type="submit" value="ok" />
</form>
</body>
</html>
|
|
|
|
|
Date :
2012-01-12 13:07:54 |
By :
DonutJung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เป็นฟอร์มรับนะครับ ชื่อไฟล์ test02.php
Code (PHP)
<?
$user = "root";
$password = "root";
$db_connect = mysql_connect("localhost",$user,$password) or die("ไม่สามารถเชื่อมต่อฐานข้อมูลได้");
mysql_query("SET NAMES UTF8", $db_connect);
mysql_select_db("myprdB",$db_connect) or die("ติดต่อฐานข้อมูลไม่ได้");
$date1 = $_REQUEST['search1'];
$date2 = $_REQUEST['search2'];
// $sql_str = "SELECT * FORMAT(Now(),'YYYY-MM-DD') as PerDate FROM tbbookout where bo_date between '" . $date1 . "' AND '" . $date2 . "' ";
$sql_str = "SELECT * FROM tbbookout where bo_date between '" . $date1 . "' AND '" . $date2 . "' ";
$sql_result = mysql_query($sql_str,$db_connect) or die("เอ็กซิคิวต์คำสั่ง SQL ไม่ได้");
// echo $sql_str;
?>
<table width="200" border="1">
<tr>
<? while($row = mysql_fetch_array($sql_result)) { ?>
<td> <?= $row['bo_id']; ?> </td>
<? } ?>
</tr>
</table>
ผมลองรับค่้าวันที่ดูเป็น 01/11/2011 และ 30/11/2011
ผลลัพธ์คือ
0001 0002 0003 0004 0005 0006 0008 0007
ซึ่งไม่ตรงกับความเป็นจริง
ข้อมูลที่ถูกต้องถือ
0001 0002 0003
ซึ่งจะต้องใช้คำสั่งยังไงหรอครับให้มันตรงกับความเป็นจริงอะครับ
|
|
|
|
|
Date :
2012-01-12 13:09:58 |
By :
DonutJung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เปลี่ยน type เป็น date เถอะครับ เพื่ออนาคตที่สดใส เพราะเป็น format มันอยู่แล้ว แล้วข้อมูลก็ยังน้อยอยู่ด้วย
|
|
|
|
|
Date :
2012-01-12 13:12:43 |
By :
EzilliL3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แล้วเวลาผม input ข้อมูลวันที่ลงไปอะครับ จาวา มันบังคับให้เป็น สมมตินะครับ 11/11/2011 ทำยังให้มันกลายเป็น date อะครับ 0000-00-00
|
|
|
|
|
Date :
2012-01-12 13:16:00 |
By :
DonutJung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทำได้ยังค่ะ พอดีติดปัญหานี้เหมือนกันเลย เพราะตอนแรกเก็บวันที่เป็น varchar ไว้ จะเก็บเป็น date ยังไงค่ะ
ตอนนี้เก็บแล้วก็เป็น 0000-00-00 ต้องแปลงตรงไหนบ้างคะ
|
|
|
|
|
Date :
2012-02-22 10:58:25 |
By :
chisu26 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|