question a 10 sous pour les pros... - PHP - Programmation
Marsh Posté le 03-04-2004 à 16:21:51
tu pourrais pas mettre plus de code?
là ce que ca fait c'est juste initialiser une variabla avec la valeur de la 1ere case de tablo entourée de "%".
C'est pour une recherche dans une base mySQL ce truc non?
Marsh Posté le 03-04-2004 à 16:32:52
Ouais, à tous les coups, c'est utilisé pour faire un LIKE en SQL.
Et le % du début va demander pas mal de ressources...
Marsh Posté le 03-04-2004 à 16:58:07
exact, le but c'est d'utiliser les variable d'un tableau rempli avec des mots saisis ds un moteur de recherche.
mais je ne pige pas a quoi servent les % au debut et à la fin ???
Pourquoi beaucoup de ressources ?
voila le code du moteur que je tente de personnaliser (j'en ai juste mis un bout pour ne pas prendre 3 pages, le reste n'ets plus en rapport avec ma question, il me semble :
Citation : |
en fait, ce sont les roles et syntaxes des $phrase que je ne comprends pas...
Marsh Posté le 03-04-2004 à 17:09:27
Le caractère % signifie "n'importe quoi".
Càd "LIKE '%un%'", signifie trouver "un", précédé et suivi de n'importe quoi.
La base de données gère bien le dernier %, mais mal le premier ("commençant par n'importe quoi" va utiliser un index avec ça).
Marsh Posté le 03-04-2004 à 17:20:52
ok, je ne savais pas qu'on pouvait utiliser ce jocker % dans l'affectation d'une variable, je pensais que c'etait reservé aux requetes sql...
sinon oui, j'ai indexe les champs concerné, ca ne sert a rien du coup ?
Marsh Posté le 03-04-2004 à 17:31:39
Je pense que ton index sera utilisé uniquement lorsque la base vérifiera qu'il n'y a rien qui commence par "un" (pour reprendre le même exemple).
Sinon, % est bien réservé aux requêtes SQL, tout ce que fait "$phrase="'%$mots[0]%'";", c'est créer une chaîne de caractères (utilisée plus tard dans une requête SQL).
Marsh Posté le 03-04-2004 à 17:35:18
ok, merci kalex d'avoir pris le temps de repondre
c'est deja plus clair !
Marsh Posté le 03-04-2004 à 15:20:09
... ca veut dire quoi :
$var="'%$tablo[0]%'";
???
en d'autre terme, a quoi servent ces %, et pourquoi ces doubles quotes ?
MERCI de vos lumieres, je cherche sur gougueule depuis 1 heure san trouver, et je bloque sur ce bout de code ...