[PHP-MySQL] - Tri de requètes...
Fermé
Bonjourà tous !!
Voilà, je suis en train de programmer un WebZine en PHP avec BdD MySql, et j'ai une sacrée liste de chroniques, je propose donc les groupes dans l'ordre alphabétique sur mon site.
Pas de problème jusque là, je fait une requète par lettre, par exemple "A%" pour le A, etc... J'affiche donc page par page les chroniques des groupes qui commencent par A, B, etc.
Mon souci, c'est que certains groupes qui se croient + malins que les autres ont un nom qui est... un nombre (ou qui commence par un nombre)...
Ce qui se fait le + souvent, quand on dresse une liste alphabétique, c'est qu'on met un # pour signifier 'les groupes dont le nom commence par un nombre'.
Voilà mon soucis : comment aller chercher dans la table les groupes qui commencent par un nombre ??
Si qqu'un a la solution, je le remercie par avance !!
merci !!
Voilà, je suis en train de programmer un WebZine en PHP avec BdD MySql, et j'ai une sacrée liste de chroniques, je propose donc les groupes dans l'ordre alphabétique sur mon site.
Pas de problème jusque là, je fait une requète par lettre, par exemple "A%" pour le A, etc... J'affiche donc page par page les chroniques des groupes qui commencent par A, B, etc.
Mon souci, c'est que certains groupes qui se croient + malins que les autres ont un nom qui est... un nombre (ou qui commence par un nombre)...
Ce qui se fait le + souvent, quand on dresse une liste alphabétique, c'est qu'on met un # pour signifier 'les groupes dont le nom commence par un nombre'.
Voilà mon soucis : comment aller chercher dans la table les groupes qui commencent par un nombre ??
Si qqu'un a la solution, je le remercie par avance !!
merci !!
A voir également:
- [PHP-MySQL] - Tri de requètes...
- Tri sur excel - Guide
- Logiciel tri photo - Guide
- Easy php - Télécharger - Divers Web & Internet
- Mysql community server - Télécharger - Bases de données
- En cours de traitement sur le site de tri local - Forum Consommation & Internet
4 réponses
Zep3k!GnO
Messages postés
2025
Date d'inscription
jeudi 22 septembre 2005
Statut
Membre
Dernière intervention
18 novembre 2015
200
12 janv. 2006 à 13:09
12 janv. 2006 à 13:09
avec un LIKE dans ta requete ca peut pas passer ? !
Zep3k!GnO
Zep3k!GnO
Salut, et merci pour ta réponse...
En fait mon problème s'est résolu de lui même, un peu au hasard, et je dois bien avouer que je ne sais toujours pas comment, mais bon ça marche !!!
voilà mon code :
En fait mon problème s'est résolu de lui même, un peu au hasard, et je dois bien avouer que je ne sais toujours pas comment, mais bon ça marche !!!
voilà mon code :
if (isset ($auteur_chron)) { $auteur_lien = "&auteur_chron=".$auteur_chron ; $tri_par_auteur = "AND `auteur` LIKE CONVERT( _utf8 '".$auteur_chron."'USING latin1 ) COLLATE latin1_swedish_ci" ; } else { $auteur_lien ="" ; $tri_par_auteur=""; } $alpha = range("A","Z") ; foreach ($alpha as $alettre) { echo "<a href='echo.php?page=chroniques&page_chron=toutes".$auteur_lien."&lettre=".$alettre."'>".$alettre."</a> - " ; } echo "<a href='echo.php?page=chroniques&page_chron=toutes".$auteur_lien."&lettre=0'>#</a>" ; if (isset ($lettre)) { if($lettre == "0") { $sql = "SELECT * FROM `critiques` WHERE `groupe` ".$tri_par_auteur." ORDER BY `groupe` ASC " ; $result = mysql_query($sql,$connect) ; } else { $sql = "SELECT * FROM `critiques` WHERE `groupe` LIKE CONVERT(_utf8 '".$lettre."%' USING latin1) COLLATE latin1_swedish_ci ".$tri_par_auteur." ORDER BY `groupe` ASC " ; $result = mysql_query($sql,$connect) ; } while($row = mysql_fetch_array($result)) { list($groupe,$titre,$label,$critique,$auteur,$date_chron,$id,$lien) = $row ; $groupe = strtoupper ($groupe) ; $auteur = ucwords($auteur) ; $critique = nl2br($critique) ; echo "<div class='cadre_forum'><span class = 'groupes_chroniques'>".$groupe."</span> ".$titre." <span class='reponses'>".$label."</span></div> <div class='texte_forum'>".$critique." <a href = 'http://".$lien."' target='_blank'>".$lien."</a><br> <span class='auteur'>".$auteur."</span></div>" ; } }
abaly
Messages postés
2
Date d'inscription
jeudi 19 juillet 2007
Statut
Membre
Dernière intervention
25 juillet 2007
25 juil. 2007 à 13:50
25 juil. 2007 à 13:50
salut j'ai un ptit soucis j'ai aussi un table a tier j utilise ORDER BY mais ça ne marche pas.
<? //AFFICHAGE:Display // appel du serveur $id = mysql_connect($server,$user,$password) OR die("Echec de la connexion au serveur"); //ouverture de la base de donne $id_db = mysql_select_db($base) OR die("Echec de la connexion à la base de donnée"); //ouverture et ecriture dans la table $result = mysql_query("INSERT INTO $table ( `N°` , `Item Name` , `Quantity` , `Brand` , `Serial Number` , `Part Number` , `Supplier` , `Destination Team` , `Destination Activity` , `Price` , `Buying date` , `Category` , `Status` , `observation` ) VALUES ('$N', '$Item_name', '$Quantity', '$Brand', '$Serial_Number', '$Part_number', '$Supplier', '$team','$Destination_activity', '$Price', '$Date_Bying ', '$Category ', '$Status ', '$Observation') SELECT * FROM $table ORDER BY N ") OR die("Echec de la reception des données"); //Tous les champs de toutes les fiches triées par ordre croissant du champ fldA $resut=mysql_query("" ); mysql_close($id); ?>
Bonjour abaly
Pour un order by il faut préciser si le tri est decroissante ou croissante:
p-e: SELECT * FROM $table ORDER BY N desc (ou asc)
Mais dites moi à propos de cette partie:
$result = mysql_query("INSERT INTO $table ( `N°` , `Item Name` , `Quantity` , `Brand` , `Serial Number` , `Part Number` , `Supplier` , `Destination Team` , `Destination Activity` , `Price` , `Buying date` , `Category` , `Status` , `observation` )
VALUES ('$N', '$Item_name', '$Quantity', '$Brand', '$Serial_Number', '$Part_number', '$Supplier', '$team','$Destination_activity', '$Price', '$Date_Bying ', '$Category ', '$Status ', '$Observation')
SELECT * FROM $table ORDER BY N ")
OR die("Echec de la reception des données");
ou est ce que la parenthese de mysql_query est fermée ainsi que les guillemets? et la syntax de intert into je pense que c'est tout simplement : INSERT INTO table (ch1,ch2,...) VALUES (v1,v2,...) et c'est tous
mais je vois que dans la meme requete vous augmentez SELECT...car d'aprés ce que vous avez écrit j'ai l'impression que meme le SELECT est dans la fonction mysql_query.
soyez plus claire svp?
Pour un order by il faut préciser si le tri est decroissante ou croissante:
p-e: SELECT * FROM $table ORDER BY N desc (ou asc)
Mais dites moi à propos de cette partie:
$result = mysql_query("INSERT INTO $table ( `N°` , `Item Name` , `Quantity` , `Brand` , `Serial Number` , `Part Number` , `Supplier` , `Destination Team` , `Destination Activity` , `Price` , `Buying date` , `Category` , `Status` , `observation` )
VALUES ('$N', '$Item_name', '$Quantity', '$Brand', '$Serial_Number', '$Part_number', '$Supplier', '$team','$Destination_activity', '$Price', '$Date_Bying ', '$Category ', '$Status ', '$Observation')
SELECT * FROM $table ORDER BY N ")
OR die("Echec de la reception des données");
ou est ce que la parenthese de mysql_query est fermée ainsi que les guillemets? et la syntax de intert into je pense que c'est tout simplement : INSERT INTO table (ch1,ch2,...) VALUES (v1,v2,...) et c'est tous
mais je vois que dans la meme requete vous augmentez SELECT...car d'aprés ce que vous avez écrit j'ai l'impression que meme le SELECT est dans la fonction mysql_query.
soyez plus claire svp?