|
|
|
ช่วยหน่อยค่ะ อยากทราบเรื่องการทำ MKtime ค่ะ ต้องการที่จะทำ lise เวลา ซึ่งตอนนี้เก็บค่าอยู่ใน DB เป็น MKtime |
|
|
|
|
|
|
|
ก็ต้องทำการแปลงค่าที่รับมาครับ ให้อยู่ในรูป mktime เพื่อที่จะได้นำไปคิวรี่ในฐานข้อมูลได้ เมื่อได้ข้อมูลที่ต้องการแล้วก็ต้องแปลงรูปแบบกลับมาให้แสดงผลตามที่ต้องการอีกรอบนะครับ
ส่วนการแปลงก็แล้วแต่เลยครับ ไม่ว่าจะตัด แยก แทนที่ มันใช้ได้หลายฟังก์ชั่น
|
|
|
|
|
Date :
2009-09-16 14:51:29 |
By :
zankumuro |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอตัวอย่างได้ไหมค่ะ
อยากได้ตัวอย่างน่ะค่ะ
ตอนนี้ฐานข้อมูลเป็น MKtime ค่ะ
|
|
|
|
|
Date :
2009-09-16 17:40:31 |
By :
krataiss |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าผมเข้าใจคำถามไม่ผิดคงหมายถึงแปลงข้อมูลก็ตามนี้เลยครับ
แต่ถ้ามิใช่ก็ขออภัย
Code (PHP)
<?php
$date= date("M-d-Y H:i:s",mktime(1,16,51,12,10,2009)); // สมมติเวลาที่เก็บใน DB เป็น Dec-10-2009 01:16:51
list($month,$day,$year,$hr,$min,$second) =split('[-.:.[:space:]]',$date);
// สมมติว่าเดือนใน DB แสดงเป็นตัวย่อภาษาอังกฤษ//
$list_month =array("Jan"=>"มกราคม", "Feb"=>"กุมภาพันธ์" ,"Mar"=>"มีนาคม" ,"Apr"=>"เมษายน","May"=>"พฤษภาคม","Jun"=>"มิถุนายน","Jul"=>"กรกฎาคม", "Aug" =>"สิงหาคม","Sep"=>"กันยายน" ,"Oct"=>"ตุลาคม" ,"Nov"=>"พฤศจิกายน" ,"Dec"=>"ธันวาคม" );
foreach($list_month as $mk =>$m){
if($mk==$month){
$month=$m;
break;
}
}
echo "วันที่ $day $month $year เวลา $hr :$min:$second ";
?>
|
|
|
|
|
Date :
2009-09-16 17:56:45 |
By :
xbeginner01 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอ่อ....คือว่า list คือ list box น่ะค่ะ
และในฐานข้อมูลก็เป็นเลข mktime น่ะค่ะ เมื่อเราดึงมาใช้ก็จะต้องมาแปลงเป็นเวลาปรกติน่ะค่ะ
สรุปคือว่า ต้องการที่จะทำ list box ว/ด/ป และเวลา ***แต่เวลานั้นขอเป็น 00:00:00 - 11:59:59 และ 12:00:00 - 23:59:59 เท่านี้ค่ะ
*-* เหมือนกับเวลาเราดูทีวีย้อนหลังไงค่ะ*-* ประมาณนั้นน่ะค่ะ
|
|
|
|
|
Date :
2009-09-17 15:26:12 |
By :
krataiss |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอความเข้าใจก่อนน่ะครับ
- ก่อนอื่นต้องทำ list box วันที่ ,เดือน, ปี ,เวลา 2ช่วงคือ 00:00:00 - 11:59:59 และ 12:00:00 - 23:59:59 ทั้งหมดก็ 4 box
- จากนั้นเราก็กรอกวัน เดือน ปี เวลา จากที่ทำ list box ไว้
- จากนั้นก็กดปุ่มค้นหา (สมมติขึ้น) แล้วส่งค่าไปนี้ที่ DB เพื่อวิเคราะห์ว่าใน db มีช่วงเวลาตรงกับที่กรอกไว้หรือเปล่า
- แล้วก็ดึงข้อมูลที่ตรงกับช่วงเวลานั้น มาแสดงทั้งหมด
ตัวอย่าง
กรอก 16 กันยายน 2552 เวลา 00:00:00 - 11:59:59
ผมจากค้นหา
16 กันยายน 2552 8:00:00
16 กันยายน 2552 10:12:00
16 กันยายน 2552 11:00:00
*ใน db เก็บ mktime เรียงกันแบบนี้ป่าวครับ YYYY-MM-DD HH:MM:SS
เข้าใจตรงไหนผิดก็บอกน่ะครับเด่วเขียนโค้ดออกมาไม่ได้ตามที่ต้องการ
|
|
|
|
|
Date :
2009-09-17 19:28:54 |
By :
xbeginner01 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช่ค่ะ..ตรงค่ะ
db ที่เก็บตอนนี้เป็นแบบนี้ค่ะ 1253070045 ตามที่เข้าใจน่าจะเรียงกันแบบนี้ YYYY-MM-DD HH:MM:SS นะค่ะ
ที่พูดมาใช้หมดเลยค่ะ..คือว่าเป็นคนอธิบายไม่เป็นน่ะค่ะ
ช่วยหน่อยนะค่ะ..ด่วนๆก็ดีค่ะ
|
|
|
|
|
Date :
2009-09-18 13:50:42 |
By :
krataiss |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1253070045 จากตรงนี้ผมเดาน่ะว่าน่าจะหมายถึง 12 เดือน 7 ปี 2553 เวลา 00:45 ไม่มีวินาที
ถ้าไม่ได้เรียงแบบนี้ก็ดัดแปลงใหม่ได้น่ะ
Code (PHP)
<?php
<form method="post" action="next.php">
วัน
<select name="cday">
<option value="01">01</option><option value="02">02</option><option value="03">03</option><option value="04">04</option>
<option value="05">05</option><option value="06">06</option><option value="07">07</option><option value="08">08</option>
<option value="09">09</option><option value="10">10</option><option value="11">11</option><option value="12">12</option>
<option value="13">13</option><option value="14">14</option><option value="15">15</option><option value="16">16</option>
<option value="17">17</option><option value="18">18</option><option value="19">19</option><option value="20">20</option>
<option value="21">21</option><option value="22">22</option><option value="23">23</option><option value="24">24</option>
<option value="25">25</option><option value="26">26</option><option value="27">27</option><option value="28">28</option>
<option value="29">29</option><option value="30">30</option><option value="31">31</option>
</select>
เดือน
<select name="cmonth">
<option value="01">มกราคม</option><option value="02">กุมภาพันธ์</option><option value="03">มีนาคม</option><option value="04">เมษายน</option>
<option value="05">พฤษภาคม</option><option value="06">มิถุนายน</option><option value="07">กรกฎาคม</option><option value="08">สิงหาคม</option>
<option value="09">กันยายน</option><option value="10">ตุลาคม</option><option value="11">พฤศจิกายน</option><option value="12">ธันวาคม</option>
</select>
ปี
<select name="cyear">
<option value="50">2550</option><option value="51">2551</option><option value="52">2552</option><option value="53">2553</option>
</select>
เวลา
<select name="ctime">
<option value="1" selected>00:00:00-11:59:59 </option>
<option value="2">12:00:00-23:59:59</option>
<input type="submit" name="submit">
</form>
?>
next.php
<?php
if(isset($_POST['submit'])){ // มีการกด submit จริง
$search_time=$_POST['cday'].$_POST['cyear'].$_POST['cmonth'];
if($_POST['ctime']=="1"){
$start =$search_time."0000";
$end=$search_time."1200";
}else{
$start =$search_time."1200";
$end=$search_time."2400";
}
$sql="select * from tbl_name where field_date>='$start' and field_date<'$end'";
$result=mysql_query($sql) or die (mysql_error());
while($rs =mysql_fetch_array($result)){
if(ereg("([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})",$rs['field_date'],$split)){
$day=$split['1'];
$month=$split['3'];
$list_month =array("มกราคม","กุมภาพันธ์" ,"มีนาคม" ,"เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม", "สิงหาคม","กันยายน" ,"ตุลาคม" ,"พฤศจิกายน" ,"ธันวาคม" );
$month=$list_month[$month-1]; // แทนที่เดือนภาษาไทย
$year=$split['2'];
$hr=$split['4'];
$min=$split['5'];
echo " วันที่ $day $month $year เวลา $hr:$min:00<br/>";
}else{
echo "รูปแบบวันที่ไม่ถูกต้อง DDYYMMHHii :$rs[field_date]";
}
}
}
?>
ที่เหลือก็ลองไปปรับแต่งให้ตรงกับที่ต้องการน่ะครับ
|
|
|
|
|
Date :
2009-09-18 15:47:49 |
By :
xbeginner01 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|