|
Dernière réponse | |
---|---|
Sujet : [PHP] tri affichage par lettre | |
ludo2604 | merciii pour toutes ces explications je vais voir tt ça et je te tiens au courant.
Mais sinon bah dans la base, il y a plus 2000 chansons et une 100e d'artistes, en sachant que ça va bien sur augmenter. La methode de siewn a quoi de plus que la tienne ? :hello: |
Aperçu |
---|
Vue Rapide de la discussion |
---|
ludo2604 | merciii pour toutes ces explications je vais voir tt ça et je te tiens au courant.
Mais sinon bah dans la base, il y a plus 2000 chansons et une 100e d'artistes, en sachant que ça va bien sur augmenter. La methode de siewn a quoi de plus que la tienne ? :hello: |
gm_superstar |
|
gm_superstar |
|
gm_superstar | 1) Donc apparemment, ça marche :)
2) Ce que je te conseille de faire, c'est de ne pas faire de <select>, mais plutôt un lien. Si l'URL de la page générée était : index.php?p=scriptsphp3/lyrics/detail&letter=A Tu places ce bout de code :
|
ludo2604 | comment ça ??
Tu peux detailler stp... une table pour quoi ? :sarcastic: |
siewn | il est largement préférable de précalculer la première lettre de ton titre et de créer un nouveau champ pour la stocker. ça fait beaucoup moins de calcul pour la requete. |
ludo2604 | Bon bein entammons le 2) lol nan mais j'aimerai voir quelques précisions en fait. tu as dis:
|
ludo2604 | c bon ça marche petite erreur de frappe de ma part mais c nickel now merciiiiiiiiiiiiiiiiiiiiiiiii !! |
gm_superstar | Je regarderai demain. Pas le temps ce soir.
A+ |
ludo2604 | oui, je commence à comprendre le principe...mais quand je click sur le liens de chiffre, il m'affiche que pour 0.
Peux tu vérifier une derniere fois si je n'ai pas fait une faute stp :ange: voila le code entier:
|
gm_superstar | Ben normalement la requête "SELECT * FROM artistes WHERE nom REGEXP '^[0-9].*' ORDER BY nom" fait ce que tu demandes...
L'expression régulière permet de sélectionner tous les 'nom' dont le premier caractère est un chiffre entre 0 et 9. |
ludo2604 | oOps ! je pensais que la requete que tu m'as donné concerné l'ensemble des chiffres. car en fait ce que je voulai c'est de faire comme ici: http://www.hebus.com/cata.php?cat=cinema >> regarde le "0-9 " il rassemble les chiffres de 0 à 9 sur 1 seule page. Est-ce possible ?
En tt cas merci de ton aideeeeeee :hello: |
gm_superstar | Bah j'ai oublié une parenthèse :
elseif (ereg("^[A-Z]$", $HTTP_GET_VARS["letter"])) Et puis aussi, rajoute un ORDER BY nom à la deuxième histoire que ça soit trié par ordre alphabétique. $requete = "SELECT * FROM artistes WHERE nom LIKE '{$HTTP_GET_VARS["letter"]}%' ORDER BY nom"; Sinon pour ta deuxième question, il suffit que le script php appelé par le formulaire du <select> fasse une requête avec la valeur du <option> : $requete = "SELECT * FROM {$HTTP_POST_VARS["cat"]} ..."; Comme ça tu sélectionnes la bonne table |
ludo2604 | je te remercie beaucoup !!
mais il y a une petite erreur, je n'arrive pas à trouver:
|
gm_superstar |
|
ludo2604 |
|
ludo2604 | pour le 2 on m'adit dutiliser le switch c bien ça ? |
ludo2604 | oui dak mais ny a til pas un autre moyen plus simple !!?
Si non ok je te remercie je vais essayer ;) |
gm_superstar | Un autre truc aussi, si ton lien c'est : index.php?p=scriptsphp3/lyrics/detail&letter=# c'est normal que ça marche pas, le # sert à positionner la page au niveau d'une ancre html.
Essaye ça : index.php?p=scriptsphp3/lyrics/detail&letter=%23 23 code ascii pour # |
gm_superstar | Je pige pas, tu fais bien un requête pour récupérer les artistes dont le nom commence par une lettre ? Pourquoi tu n'en ferais pas une pour pour ceux qui commencent par un chiffre ?
PS: met plutôt le code entre les balises [ fixed] ou [ code]. [ cpp] -> C++ |
ludo2604 | oula merci si il y a plus simple (sans requete!) si possible |
gm_superstar | 1) En utilisant les expressions régulières de MySQL ?
SELECT * FROM artistes WHERE nom REGEXP "^[0-9].*" ORDER BY nom cf http://www.mysql.com/doc/R/e/Regexp.html |
ludo2604 | 'lo
Je suis en train de faire un script de lyrics, et j'ai donc trier le nom des artistes par lettre. le code ressemble à ça:
mais ça ne marche pas :/
mais c apres
|