Impossible d'ordonner une liste par n°
Résolu
txiki
Messages postés
6596
Date d'inscription
Statut
Contributeur
Dernière intervention
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai créé un site pour ma collection de billets de banque (http://monnaiepapier.free.fr).
J'ai ajouté un champ dans la table "chrono" de type TINYINT, UNSIGNED ZEROFIL pour avoir les zéros devant les chiffres (les chiffres correspondant aux n° Pick).
Pour le moment ça n'est qu'un test pour Afghanistan, Albanie et Allemagne (voir le lien ci-dessous).
http://monnaiepapier.free.fr/Planche.php?pays=Afghanistan
Pourtant malgré divers essais, ça ne fonctionne pas, les Picks sont toujours dans le désordre.
Pourquoi ? Qu'ai-je oublié ou mal fait ?
Merci d'avance pour vos éclaircissements.
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
J'ai créé un site pour ma collection de billets de banque (http://monnaiepapier.free.fr).
J'ai ajouté un champ dans la table "chrono" de type TINYINT, UNSIGNED ZEROFIL pour avoir les zéros devant les chiffres (les chiffres correspondant aux n° Pick).
Pour le moment ça n'est qu'un test pour Afghanistan, Albanie et Allemagne (voir le lien ci-dessous).
http://monnaiepapier.free.fr/Planche.php?pays=Afghanistan
Pourtant malgré divers essais, ça ne fonctionne pas, les Picks sont toujours dans le désordre.
Pourquoi ? Qu'ai-je oublié ou mal fait ?
Merci d'avance pour vos éclaircissements.
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
A voir également:
- Impossible d'ordonner une liste par n°
- Liste déroulante excel - Guide
- Comment ordonner une liste sur excel - Guide
- Liste déroulante en cascade - Guide
- Liste code ascii - Guide
- Site dangereux liste - Guide
5 réponses
Bonjour,
Sans voir ton code ... impossible de te répondre (et surtout la requête qui te sert à récupérer le contenu de ta table .... )
Sans voir ton code ... impossible de te répondre (et surtout la requête qui te sert à récupérer le contenu de ta table .... )
C'est vrai:
La requête:
Structure de la table:
http://monnaiepapier.free.fr/Structure%20Table%20Billets.gif
La requête:
// On selectionne seulement la ligne qui correspond au pays
$select = "SELECT * FROM billets WHERE pays='$pays' ORDER BY chrono ASC";
$result = mysql_query($select,$cnx) or die ('Erreur : '.mysql_error() ."<br> Requete : ".$sql);
$nb_result = mysql_num_rows($result);
if($nb_result==0){
echo "<br> ERREUR ! Aucun article n'a été trouvée pour ce pays !";
}else{
// on n'affiche ici que les lignes qui se répètent tant qu'il y a des billets pour ce pays via la boucle pour tableau "while"
echo"<table ID='planche'>";
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$visuel_recto = $row['visuel_recto'];
$valeur = $row['valeur'];
$chrono = $row['chrono'];
$pick = $row['pick'];
$format = $row['format'];
$recto = $row['recto'];
$visuel_verso = $row['visuel_verso'];
$verso= $row['verso'];
echo "<tr>";
echo "<td class='billet'><img src="" alt='$valeur' title='$valeur'></img><p class='billet'>$valeur | P $pick<br>$recto</p></td>";
echo "<td class='billet'><img src="" alt='$valeur' title='$valeur'></img><p class='billet'>$format<br>$verso</p></td>";
echo "</tr>";
}
echo"</table>";
Structure de la table:
http://monnaiepapier.free.fr/Structure%20Table%20Billets.gif
et pourrais tu nous montrer quelques données présentes dans ta table ?
En particulier les champs chrono et pick qu'on puisse voir ce que ça contient exactement ?
Au passage .. tu utilises l'ancienne extensions mysql considérée comme obsolète !
Je t'invite à lire ceci : https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
En particulier les champs chrono et pick qu'on puisse voir ce que ça contient exactement ?
Au passage .. tu utilises l'ancienne extensions mysql considérée comme obsolète !
Je t'invite à lire ceci : https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
Bonsoir jordane45 et meilleurs vœux pour 2017 !
Première ligne de la table (seulement le pays, le classement (à cause du pick qui ne fonctionne pas) + le n° pick (qui peut contenir des caractères comme par exemple 124a ou 31af):
Colonne Type Valeur
pays varchar(255) Afghanistan
chrono tinyint(5) unsigned zerofill 00064
pick varchar(10) 64
Bien sur il y a d'autres champs (taille du billet, visuel recto et visuel verso, description recto + verso etc...).
PS: je ne comprend pas ton histoire de ancienne extension, à quel endroit.
Merci.
Première ligne de la table (seulement le pays, le classement (à cause du pick qui ne fonctionne pas) + le n° pick (qui peut contenir des caractères comme par exemple 124a ou 31af):
Colonne Type Valeur
pays varchar(255) Afghanistan
chrono tinyint(5) unsigned zerofill 00064
pick varchar(10) 64
Bien sur il y a d'autres champs (taille du billet, visuel recto et visuel verso, description recto + verso etc...).
PS: je ne comprend pas ton histoire de ancienne extension, à quel endroit.
Merci.
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
Les résultats sont-ils triés par "chrono"?
Pourquoi es-tu étonné qu'ils ne soient pas triés par "pick"?
Pourquoi es-tu étonné qu'ils ne soient pas triés par "pick"?
Salut yg_be,
L'affichage ascendant par Pick est plus logique (du plus ancien au plus récent; petit n° Pick = plus ancien billet).
Les billets les plus récents sont toujours affichés à la fin dans les sites de ce genre.
Les résultats ne sont pas affichés par chrono; chrono est le nom du champ tout simplement.
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
L'affichage ascendant par Pick est plus logique (du plus ancien au plus récent; petit n° Pick = plus ancien billet).
Les billets les plus récents sont toujours affichés à la fin dans les sites de ce genre.
Les résultats ne sont pas affichés par chrono; chrono est le nom du champ tout simplement.
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
bonjour,
Tu écris que cela ne fonctionne pas, parce que les picks sont dans le désordre.
Par ailleurs, bien que tu souhaites que les picks soient dans l'ordre, tu fais le tri sur base du champ chrono, et donc j'essaie de comprendre ce que tu veux faire et ce qui ne fonctionne pas.
En nous montrant uniquement la première ligne de la table, tu ne nous permets pas de voir que le tri ne fonctionne pas comme tu l'attends.
Tu écris que cela ne fonctionne pas, parce que les picks sont dans le désordre.
Par ailleurs, bien que tu souhaites que les picks soient dans l'ordre, tu fais le tri sur base du champ chrono, et donc j'essaie de comprendre ce que tu veux faire et ce qui ne fonctionne pas.
En nous montrant uniquement la première ligne de la table, tu ne nous permets pas de voir que le tri ne fonctionne pas comme tu l'attends.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour les gars !
J'ai trouvé !!!!
En fait, les billets acquis à différentes périodes ne pouvaient pas se trouver sur les premières entrées de la table.
J'ai donc fait une recherche pour Afghanistan ce qui m'a listé tous les billets d'Afghanistan. Et pour les derniers acquis, le chrono avaient la valeur par défaut 00000.
J'ai donc renseigné tous les "chrono" pour ce pays et maintenant l'affichage est correct.
En tous cas merci pour votre aide.
Je n'ai toujours pas compris l'histoire de "l'ancienne extensions mysql".
Bonne année pour tous !
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
J'ai trouvé !!!!
En fait, les billets acquis à différentes périodes ne pouvaient pas se trouver sur les premières entrées de la table.
J'ai donc fait une recherche pour Afghanistan ce qui m'a listé tous les billets d'Afghanistan. Et pour les derniers acquis, le chrono avaient la valeur par défaut 00000.
J'ai donc renseigné tous les "chrono" pour ce pays et maintenant l'affichage est correct.
En tous cas merci pour votre aide.
Je n'ai toujours pas compris l'histoire de "l'ancienne extensions mysql".
Bonne année pour tous !
Le bonheur est la seule chose que l'on peut donner sans l'avoir.