Donc, j'ai les lignes suivantes dans le DB:PHP + MySQL: recherche en utilisant des caractères génériques
1 |/users/
2 |/users/admin/
3 |/users/admin/*
4 |/users/admin/mike/
5 |/users/admin/steve/docs/
L'URL d'entrée est /users/admin/steve/, et le but est de trouver la correspondance URL de la base de données.
Je veux renvoyer # 3 comme la ligne correcte, puisque le caractère générique "*" spécifie que tout peut aller à la place de l'astérisque. Quelle serait la méthode la plus efficace pour cela?
Voilà mes premières impressions, mais je suis sûr qu'ils pourraient être améliorés:
- Faire une requête pour voir s'il y a une correspondance URL exacte
- Si aucune correspondance, puis récupérer toutes les lignes avec "*" comme dernier caractère, dans l'ordre inverse (donc les URL plus spécifiques ont la priorité)
- Pour chaque ligne, si elle (moins le "*") correspond à l'URL d'entrée, retournez-la
- Si rien est trouvé, alors nous sommes SOL
C'est parfait, merci! – Matt