Vous n'êtes pas identifié(e).
Bonsoir, je rencontre un problème que vous avez peut-être déjà vu et éventuellement traité.
Sur mon site, j’ai une table Foot_Presse sous MySql telle que décrite ci-dessous.
ID_PRESSE int(11) Non auto_increment Affiche les valeurs distinctes
SAISON varchar(10) latin1_general_ci Non Affiche les valeurs distinctes
DATE_ARTICLE date Non 0000-00-00 Affiche les valeurs distinctes
ORIGINE varchar(50) latin1_general_ci Non Affiche les valeurs distinctes
NOM_DU_FICHIER varchar(255) latin1_general_ci Non Affiche les valeurs distinctes
COMMENTAIRE text latin1_general_ci Oui NULL Affiche les valeurs distinctes
Il y a plusieurs ORIGINE (noms de journaux: « Midi Libre », « Indépendant » et « ActuFoot34 ».
Il y a plusieurs dates d’articles de journaux.
Il y a des cas où il y a un article à la même date pour 2 journaux différents.
Mon objectif : afficher les articles d’abord par ordre de dates de parution DECROISSANT, et, si une même date pour plusieurs articles, par ordre CROISSANT sur le nom du journal.
Exemple :
Midi Libre – 2009/05/23
Indépendant – 2009/05/17
Midi Libre – 2009/05/17
ActuFoot34 – 2009/05/10
Midi Libre – 2009/05/03
Requête sous PhpMyAdmin
SELECT ID_PRESSE,ORIGINE,DATE_ARTICLE FROM FOOT_PRESSE WHERE SAISON="2008-2009" ORDER BY DATE_ARTICLE DESC, ORIGINE ASC
Résultat OK
L’objectif est d’afficher les informations de la table de manière interfacée via PHP ert MySql, dans l’ordre énoncé ci-dessus.
Le code utilisé est le suivant, avec la variable $pos initialisée avec « 2008-2009 »
$request =@mysql_query("SELECT ID_PRESSE,ORIGINE,DATE_ARTICLE FROM FOOT_PRESSE WHERE SAISON=\"$pos\" ORDER BY DATE_ARTICLE DESC, ORIGINE ASC") or die (mysql_error());
$nb = mysql_num_rows($request);
if($nb>0){
if($request){
while($ligne = mysql_fetch_array($request)){
if($id && $id == $ligne[0]) echo "<option value=\"".$ligne[0]."\" selected>".$ligne[1]."(".r_date_format($ligne[2]).")</option>";
else echo "<option value=\"".$ligne[0]."\">".$ligne[1]."(".r_date_format($ligne[2]).")</option>";
}
}
}
Or, les enregistrements sont affichés classés par ordre CROISSANT sur ORIGINE, puis sur DATE_ARTICLE en ordre DECROISSANT.décroissante.
Cela donne donc ceci :
ActuFoot34 – 2009/05/10
Indépendant – 2009/05/17
Midi Libre – 2009/05/23
Midi Libre – 2009/05/17
Midi Libre – 2009/05/03
Cela peut être vu à l’adresse www.asb-foot.com, option Presse, et en sélectionnant la saison « 2008-2009 ».
Pouvez-vous m’aider à trouver l’erreur ?
Cordialement
Hors ligne
Je pense que, depuis le temps, la source de l'erreur a été trouvée.
Je parie pour un différence entre le script affiché et celui exécuté.
Car il n'y a vraiment aucune raison que l'ordonnancement se fasse différemment sous PMA ou dans le script si le code SQL de la requête est bien le même.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne