Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1515 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

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

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

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

n°1380613
Dawa
www.shootmeagain.com
Posté le 03-06-2006 à 22:24:02  profilanswer
 

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
mood
Publicité
Posté le 03-06-2006 à 22:24:02  profilanswer
 

n°1380629
masklinn
í dag viðrar vel til loftárása
Posté le 03-06-2006 à 22:58:58  profilanswer
 

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
n°1380648
Dawa
www.shootmeagain.com
Posté le 03-06-2006 à 23:38:37  profilanswer
 

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
n°1380660
masklinn
í dag viðrar vel til loftárása
Posté le 03-06-2006 à 23:51:46  profilanswer
 

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

n°1380794
Dawa
www.shootmeagain.com
Posté le 04-06-2006 à 15:27:12  profilanswer
 

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
n°1380797
masklinn
í dag viðrar vel til loftárása
Posté le 04-06-2006 à 15:28:56  profilanswer
 

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
n°1382693
Dawa
www.shootmeagain.com
Posté le 07-06-2006 à 11:18:32  profilanswer
 

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
n°1382739
masklinn
í dag viðrar vel til loftárása
Posté le 07-06-2006 à 11:41:40  profilanswer
 

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

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

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

 

Sujets relatifs
PHP Nuked Klandebugger (tracer) des script PHP
caractère speciaux, lien PHPInsérer un tableau dans un post de forum PHP ?
Suivi des modifs successives code source PHP[PHP] probleme fsockopen
un engin de rechercheMenu JS dans PHP (relou)
Php : convertir chaine de caractère 
Plus de sujets relatifs à : [PHP] [URL Rewriting] Faire une recherche dans une DB ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR