2011-08-27 7 views
9

Estoy construyendo un sistema de notas en mi sitio y llegué al punto donde los usuarios pueden publicar notas en la base de datos MySQL usando PHP y luego PHP las imprime en una página. Sin embargo, cuando imprimen/resuenan, primero aparece el más antiguo, pero primero quiero el más reciente. También quiero que estén limitados a 10, por lo que solo aparecen 10 en la página. Aquí está mi código PHP, su ayuda será muy apreciada:PHP y MySQL: Ordene por fecha y límite más recientes 10

// initialize some variables 
$notedisplaylist = ""; 
$myObject = ""; 
$result = mysql_query("SELECT * FROM notes WHERE note_author_id='$u_id' ORDER BY   date_time"); 

while($row = mysql_fetch_array($result)){ 
    $note_title = $row["note_title"]; 
    $note_body = $row["note_body"]; 
    $date = $row["date_time"]; 
    $notedisplaylist .= '<h2>' . $note_title . '</h2><br /><p>' . $note_body . '</p><hr /><p>Noted: ' . $date . '</p><hr /><br />'; 
} 

Respuesta

22

Esto debe hacerlo:

$result = mysql_query("SELECT * FROM notes WHERE note_author_id='$u_id' ORDER BY date_time DESC LIMIT 0, 10"); 
7

Trate

$result = mysql_query("SELECT * FROM notes WHERE note_author_id='$u_id' ORDER BY date_time DESC LIMIT 10"); 

Para una explicación más detallada sobre ORDER y LIMIT, visitan artículos de la doc MySQL sobre sorting rows y la básica select syntax (busque una viñeta que describa LIMIT).

6

dan como

ORDER BY date_time DESC 

de lo contrario se les está ordenando en orden ascendente .. es por eso que los mayores son lo primero

9

uso:

SELECT * FROM notes WHERE note_author_id='$u_id' ORDER BY date_time DESC LIMIT 10 

DESC: orden descendente (de más reciente a más antiguo) LÍMITE 10: los primeros 10 registros encontrados.

5

Haz esto

$result = mysql_query("SELECT * FROM notes WHERE note_author_id='$u_id' ORDER BY date_time DESC LIMIT 0, 10"); 
0

Si en caso de que quiera tu límite para una variable, aquí he denominado límite de $:

"SELECT * FROM tbl ORDER BY input_date DESC LIMIT 0, $limit"; 
Cuestiones relacionadas