Affichage par ordre de date

Répondre
mohaalba
le 11/03/2010 à 11:45
mohaalba
Bonjour,
je voudrais savoir comment afficher un tableau de données par ordre d'un champ(dans mon cas : champ date)????????.

je vous remercie d'avance.

voila mon code:
<?php 

session_start();
error_reporting(E_ALL);
/****************************/
require_once('../config.php');
require_once('../fonctions.php');
$titre_page='Mise à jour de commandes';
include_once('../haut_color.php');
echo'<link href="../style.css" rel="stylesheet" type="text/css" />';
/****************************/
//$pseudo=formulaires($_POST['pseudo']);
/****************************/
if(!empty($_POST['choix']))
{

//Pas encore faite!!!
}

}
else
{
// Nous affichons notre tableau des commandes
echo'<form method="post" action="etat_commande.php">';
$entete = array('Client','N° Commande','Date commande','Fichier','Q','Etat','Date livraison','Expédition');
echo'<div align="center" ><p><strong>Liste de des clients enregistées - Mettre à jour de l\'état des commandes</strong></p><br /><br />';
echo'<table width="1050" height="40" border="1" align="center" bgcolor=#FF0000>
<colgroup>
<col style="width: 150px">
<col style="width: 120px">
<col style="width: 100px">
<col style="width: 200px">
<col style="width: 60px">
<col style="width: 100px">
<col style="width: 100px">
<col style="width: 220px">
</colgroup>
<tr>
<th scope="col">'.$entete[0].'</th>
<th scope="col">'.$entete[1].'</th>
<th scope="col">'.$entete[2].'</th>
<th scope="col">'.$entete[3].'</th>
<th scope="col">'.$entete[4].'</th>
<th scope="col">'.$entete[5].'</th>
<th scope="col">'.$entete[6].'</th>
<th scope="col">'.$entete[7].'</th>
</tr>
</table>';
$result = mysql_query("SELECT nom, prenom,ref_com, date_com, fichier_com, Q, etat, date_livraison, expedition FROM commandes") or die ('Impossible de s&eacute;lectionner une base de donn&eacute;e.'.mysql_error());

while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
/****Modification de la date : Américan vers Europe**********/
$date_comm = $row[3];
$date_liv = $row[7];
$date_comm = preg_replace('!^([0-9]{4})+-([0-9]{2})+-([0-9]{2})$!', '$3/$2/$1', $date_comm); #Modifiation de la date
$date_liv = preg_replace('!^([0-9]{4})+-([0-9]{2})+-([0-9]{2})$!', '$3/$2/$1', $date_liv); #Modifiation de la date
$row[3] = $date_comm ;
$row[7] = $date_liv ;
/***************************************************************/
echo'<table width="1050" height="40" border="1" align="center" >
<colgroup>
<col style="width: 150px">
<col style="width: 120px">
<col style="width: 100px">
<col style="width: 200px">
<col style="width: 60px">
<col style="width: 100px">
<col style="width: 100px">
<col style="width: 220px">
</colgroup>
<tr>
<th scope="col" >'.$row[1].' '.$row[0].'</th>
<th scope="col" >'.$row[2].'</th>
<th scope="col" >'.$row[3].'</th>
<th scope="col" >'.$row[4].'</th>
<th scope="col" >'.$row[5].'</th>
<th scope="col" >'.$row[6].'</th>
<th scope="col" >'.$row[7].'</th>
<th scope="col" >'.$row[8].'</th>
</tr>
</table>';


}
echo'<br/><label><input type="submit" value="Mettre à jour" /></label></form>';
}


?>
Amery
le 11/03/2010 à 12:33
Amery
il faut utiliser l'option ORDER BY dans ta requête sql :

<?php
$result = mysql_query("SELECT nom, prenom,ref_com, date_com, fichier_com, Q, etat, date_livraison, expedition FROM commandes ORDER BY date_com DESC") or die ('Impossible de sélectionner une base de donnée.'.mysql_error());
?>


suivi de:
- DESC : pour un tri décroissant
- ASC : pour un tri croissant

Plus d'info, dans la doc officiel : http://www.lephpfacile.com/manuel-mysql/sql-syntax.php#select
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours