[PHP] [URL Rewriting] Faire une recherche dans une DB ?

Faire une recherche dans une DB ? [PHP] [URL Rewriting] - PHP - Programmation

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
Reply

Marsh Posté le 03-06-2006 à 22:24:02   

Reply

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 [:spamafote]
 
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-_]+/


Message édité par masklinn le 03-06-2006 à 23:09:14
Reply

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 ! :)


---------------
SHOOT ME AGAIN WEBZINE
Reply

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 :o), 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

Reply

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 :D
 
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 :)


---------------
SHOOT ME AGAIN WEBZINE
Reply

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 :o 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 :o


Message édité par masklinn le 04-06-2006 à 15:31:59
Reply

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 :p  
 
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 !


---------------
SHOOT ME AGAIN WEBZINE
Reply

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 :p  
 
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 :/


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 :o


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed