|  | 
	                
  
    | 
	 
        ต้องการให้แสดงวันที่จาก วันที่สมัครล่าสุดให้อยู่ด้านบน     |  
    |  |  
 
              
  
    | 
 
        
          |  |  |  |  |  
          |  |  | 
            
              | 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 |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  |  |