Faire une recherche dans une DB ? [PHP] [URL Rewriting] - PHP - Programmation
Marsh Posté le 03-06-2006 à 22:58:58
Tu indexes la colonne nom et tu fais une recherche sur ce nom et pas sur un ID
Et accessoirement il est de coutume d'utiliser le "/" comme séparateur hiérarchique, pas la ",", et quand on fait de l'URL rewriting on dégage les extensions (elles n'ont aucun intérêt)
=> au final, ton chemin devrait devenir
http://shootmeagain.com/bands/sophora
Et après tu peux ajouter tes revues d'albums derrière, genre
http://shootmeagain.com/bands/sophora/split-7inch
ou bien
http://shootmeagain.com/bands/the- [...] -yer-heart
Note: dans les faits, comme tes noms sont assez complexes tu devrais créer un champ supplémentaires contenant les "slugs" (tu peux même remplacer tes IDs par les slugs, ceux ci sont censés être uniques, mais bon): un slug, c'est une chaîne de caractère en minuscules dans laquelle tous les espaces sont remplacés par des "-" (ou des "_" ), tous les caractères spéciaux sont supprimés et tous les caractères accentués sont remplacés par la version non accentuée.
Dans les faits, ça doit matcher /[a-z0-9-_]+/
Marsh Posté le 03-06-2006 à 23:38:37
big up, merci pour le coup de main...
et c'est vrai que le html n'a aucun sens, j'ai suivi trop à la lettre le tuto que j'ai trouvé...
et pour les / je préfère ça aussi, mais j'avais lu que ça pouvait poser certains problèmes d'arborescence... mais j'adopte !
Merci !
Marsh Posté le 03-06-2006 à 23:51:46
Dawa a écrit : et pour les / je préfère ça aussi, mais j'avais lu que ça pouvait poser certains problèmes |
Faut juste faire attention que ton arbo réelle n'entre pas en conflit avec ton arbo virtuelle (je sais pas du tout ce que ça donne, mais bon autant éviter de se poser la question hein ), mais à part ça ça fonctionne très bien, c'est beaucoup plus logique pour l'utilisateur, et ça permet d'utiliser des outils comme Diggler
Marsh Posté le 04-06-2006 à 15:27:12
Bin par rapport à l'arbo justement, l'utilisation des / me pose déjà un problème...
http://www.shootmeagain.com/bands-1238 fonctionne alors que
http://www.shootmeagain.com/bands/1238 foire un peu...
En fait c'est mes chemins de fichiers relatifs qui se plantent du coup...
Bon je vais trouver un moyen
En tout cas j'ai commencé en local à indexer tout sur les slugs, c'est un bon plan... et c'est pas si compliqué que ça finalement
Marsh Posté le 04-06-2006 à 15:28:56
C'est même super simple, la seule difficulé c'est de générer les slugs mêmes (de transformer les titres en slugs quoi) parce qu'il faut bien filtrer tous les caractères spéciaux et autres conneries
(et pour les foirages de chemins, t'as qu'à tout mettre en absolu genre tes images dans /img, tes CSS dans /style, ...)
Et ça montre que ton site est pas bien fait aussi, normalement même si les paths vers les images et autres merdent il devrait être utilisable. Moche, mais utilisable.
Là, on peut rien en faire
Marsh Posté le 07-06-2006 à 11:18:32
C'est bon générer les slugs ça m'a pas posé trop de problèmes et j'ai réglé ces problèmes de path, en effet c'était assez mal géré dès le départ
Mais euh... j'étais sur le point d'utiliser les slugs comme ID uniques mais c'est un peu lourd j'ai l'impression, le site était beaucoup plus lent quand j'ai commencé à faire ça
Faut dire, avec des noms de groupes comme "Treasure Chest At The End Of The Rainbow" et des trucs de ce genre mes slugs c'est quand même des varchar de 70 caractères c'est possible que ça ait tout ralenti à ce point à cause de ça ? Sur la page d'accueil du site y a pas mal de requêtes qui les utiliseraient, faut dire...
Merci pour le coup de main, en tout cas !
Marsh Posté le 07-06-2006 à 11:41:40
Dawa a écrit : C'est bon générer les slugs ça m'a pas posé trop de problèmes et j'ai réglé ces problèmes de path, en effet c'était assez mal géré dès le départ |
Oui, la recherche sur un index (une primary key) textuel est beaucoup plus coûteuse que sur un index numérique
Par contre pense à indexer tes slugs, quand même, si c'est même pas indexé ça ralentit encore plus
Marsh Posté le 03-06-2006 à 22:24:02
Bonjour,
Je suis en train de me lancer dans l'URL Rewriting, pour l'instant ça marche :
http://www.shootmeagain.com/index. [...] &band=1240
devient
http://www.shootmeagain.com/bands,1240.html
Mais dans le cas de ce groupe, comment faire si je veux qu'on puisse accéder à cette page par http://www.shootmeagain.com/bands,sophora.html ?
Il faut absolument que l'URL "réelle" contienne également le nom du groupe ou y a moyen de bidouiller un truc pour que cela fasse une recherche dans la BD ? Donc en gros, c'est possible que
http://www.shootmeagain.com/index. [...] &band=1240
devienne
http://www.shootmeagain.com/bands,sophora.html
?
Merci !
Erik
---------------
SHOOT ME AGAIN WEBZINE