ต้องการให้แสดงวันที่จาก วันที่สมัครล่าสุดให้อยู่ด้านบน
19-09-2012 เก็บค่าเป็น Date น่าจาดีกว่าครับส่วน การเรียงลำดับ
Code (PHP)
$Select=mysql_query("Select * FROM tb_member ORDER BY M_date DESC ") or die (mysql_error());
ประวัติการแก้ไข 2012-09-17 17:13:00
Date :
2012-09-17 17:12:40
By :
Ex-[S]i[L]e[N]t
แล้วเวลา insert ลงฐานข้อมูลล่ะคะ แสดงเป็นวันที่ปัจจุบัน ค่ะ
Date :
2012-09-17 17:31:34
By :
yamza
ต้องการให้แสดงวันที่จาก วันที่สมัครล่าสุดให้อยู่ด้านบน เช่น
19-09-2012
02-08-2012
ฐานข้อมูลเก็บเป็น M_date type เป็น date
แล้วมันแสดง 2012-09-19 ต้องการให้แสดงเป็น 19-09-2012 มีวิธีไหมคะ
Date :
2012-09-17 18:18:35
By :
yamza
Code (PHP)
อีกแนวทาง
$sql="SELECT DATE_FORMAT(field_name,'%d-%m-%Y') AS dDate from tb_name
$sql="SELECT DATE_FORMAT("2012-12-31",'%d-%m-%Y') AS DDATE from orders";
Date :
2012-09-17 18:37:34
By :
tongkamlekdee
แก้ยังงัยคะ รบกวนดูให้โค้ดให้ได้ไหมคะ ต้องการจะให้ฟิวด์ <td><div align="center"><?=$objResult["M_date"];?></td> แสดงเปน 20-03-2012 ค่ะ
Code (PHP)
<?
include "connect.php";
if(!isset($_GET[start])){ //2
$start = 0;
}else{
$start=$_GET[start];}
$limit = '5';
$Qtotal = mysql_query("select * from member"); //คิวรี่ คำสั่ง
$total = mysql_num_rows($Qtotal);
?>
<div align="center">
<h3>ข้อมูลสมาชิก</h3>
</div>
<table width="967" border="1">
<tr>
<td width="59" ><div align="center"><strong>ลำดับ</strong></div></td>
<td width="123" ><div align="center"><strong>ชื่อ-สกุล</strong></div></td>
<td width="165" ><div align="center"><strong>รายละเอียด</strong></div></td>
<td width="103" ><div align="center"><strong>วันที่สมัคร</strong></div></td>
<td width="69" "><div align="center"><strong>ลบ</strong></div></td>
</tr>
<?
$strSQL = "SELECT * FROM member order by M_date desc LIMIT $start,$limit ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
while($objResult = mysql_fetch_array($objQuery))
{ $x++;
?>
<tr>
<td><div align="center"><?=$start+$x;?></div></td>
<td><div align="center"><?=$objResult["M_name"];?></div></td>
<td><div align="center"><a href="javascript:MM_openBrWindow('showonemember.php?id=<? echo $objResult['Username'];?>','','width=700,height=600')"><img src="image1/1497.png" width="40" height="40" border="0" /></a></div></td>
<td><div align="center"><?=$objResult["M_date"];?></td>
<td><div align="center"><a href="javascript:confirmDelete('del_member.php?username=<?=$objResult["Username"];?>')"><img src="image1/del1.png" width="40" height="40" border="0" /></a></div></td>
</tr>
<?
}
?>
</table><?
$pagea = ceil($total/$limit); // เอา record ทั้งหมด หารด้วย จำนวนที่จะแสดงของแต่ละหน้า
/* เอาผลหาร มาวน เป็นตัวเลข เรียงกัน เช่น สมมุติว่าหารได้ 3 เอามาวลก็จะได้ 1 2 3 */
for($i=1;$i<=$pagea;$i++){
if($_GET['page']==$i){ //ถ้าตัวแปล page ตรง กับ เลขที่วนได้
echo "[<a href='?start=".$limit*($i-1)."'><B>$i</B></A>]"; //ลิ้งค์ แบ่งหน้า เงื่อนไขที่ 1 5555
}else{
echo "[<a href='?start=".$limit*($i-1)."'>$i</A>]"; //ลิ้งค์ แบ่งหน้า เงื่อนไขที่ 2 6666
}
}
?>
Date :
2012-09-17 18:51:33
By :
yamza
Code (PHP)
<?
include "connect.php";
if(!isset($_GET[start])){ //2
$start = 0;
}else{
$start=$_GET[start];}
$limit = '5';
$Qtotal = mysql_query("select * from member"); //คิวรี่ คำสั่ง
$total = mysql_num_rows($Qtotal);
?>
<div align="center">
<h3>ข้อมูลสมาชิก</h3>
</div>
<table width="967" border="1">
<tr>
<td width="59" ><div align="center"><strong>ลำดับ</strong></div></td>
<td width="123" ><div align="center"><strong>ชื่อ-สกุล</strong></div></td>
<td width="165" ><div align="center"><strong>รายละเอียด</strong></div></td>
<td width="103" ><div align="center"><strong>วันที่สมัคร</strong></div></td>
<td width="69"><div align="center"><strong>ลบ</strong></div></td>
</tr>
<?
$strSQL = "SELECT M_name,Username,DATE_FORMAT(M_date,'%d-%m-%Y') AS M_date FROM member order by M_date desc LIMIT $start,$limit ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
while($objResult = mysql_fetch_array($objQuery))
{ $x++;
?>
<tr>
<td><div align="center"><?=$start+$x;?></div></td>
<td><div align="center"><?=$objResult["M_name"];?></div></td>
<td><div align="center"><a href="javascript:MM_openBrWindow('showonemember.php?id=<? echo $objResult['Username'];?>','','width=700,height=600')"><img src="image1/1497.png" width="40" height="40" border="0" /></a></div></td>
<td><div align="center"><?=$objResult["M_date"];?></td>
<td><div align="center"><a href="javascript:confirmDelete('del_member.php?username=<?=$objResult["Username"];?>')"><img src="image1/del1.png" width="40" height="40" border="0" /></a></div></td>
</tr>
<?
}
?>
</table><?
$pagea = ceil($total/$limit); // เอา record ทั้งหมด หารด้วย จำนวนที่จะแสดงของแต่ละหน้า
/* เอาผลหาร มาวน เป็นตัวเลข เรียงกัน เช่น สมมุติว่าหารได้ 3 เอามาวลก็จะได้ 1 2 3 */
for($i=1;$i<=$pagea;$i++){
if($_GET['page']==$i){ //ถ้าตัวแปล page ตรง กับ เลขที่วนได้
echo "[<a href='?start=".$limit*($i-1)."'><B>$i</B></A>]"; //ลิ้งค์ แบ่งหน้า เงื่อนไขที่ 1 5555
}else{
echo "[<a href='?start=".$limit*($i-1)."'>$i</A>]"; //ลิ้งค์ แบ่งหน้า เงื่อนไขที่ 2 6666
}
}
?>
Date :
2012-09-17 20:28:07
By :
tongkamlekdee
ขอบคุณสำหรับทุกคำตอบ ทำได้แล้วค่ะ ที่ให้แสดงวันที่ เป็นแบบ 31-03-2012 แต่เวลาทำให้มันเรียงจากมากไปหาน้อยทำไมมันเช็คแค่วันที่ มันไม่เช็ค เดือน กะปีให้คะ พอดีว่าจะให้โชว์ข้อมูลสมาชิกที่สมัครเข้ามาในเว็บ แล้วทีนี้เวลาแอดมินเปิดดูให้โชว์คนที่สมัครล่าสุด แต่ใช้ order by แล้วก็ไม่เหนจะเช็คให้ ไม่รู้จะทำงัยดี เห้อ
Date :
2012-09-17 21:12:40
By :
tt_ultraman
ลองเข้าไปที่ phpmyadmin แล้วไปกดตรงชื่อฟลิด์ที่เก็บ date ต้องเก็บเวลาเป็นรูปแบบ datetime นะ
พอคลิกแล้วมันจะเป็นการเรียง order by ASC ก่อน ถ้ากดอีกครั้งมันก็จะเป็นการเรียงแบบ order by DESC
แล้วเราจะเห็นว่าในแต่ละครั้งที่เราลองกดใน phpmyadmin นั้น มันก็จะมีคำสั่งคิวรี่ตารางมาให้ด้วย เช่น
SELECT *FROM `car` ORDER BY `car`.`timego` ASC
นี่เป็นวิธีง่าย ๆ ในการทดสอบการ order ใน phpmyadmin
ถ้าข้อมูลในฟิลด์เก็บเป็น datetime แล้วได้ order แล้ว เวลาเรียกมาแสดงจะมาแปลงด้วยคำสั่งอะไร มันก็จะเรียงให้นะ....
ลองตรวจสอบว่า ข้อมูลเก็บเป็น datetime จริงหรือเปล่า
ถ้าไม่งั้นเอา code ตอนที่ select ข้อมูลจาก db แล้ววิธีการแปลงจาก 2012-09-18 เป็น 18-09-2012 มาลองดูหน่อยครับ
Date :
2012-09-18 17:04:31
By :
apisitp
Load balance : Server 01