Pb: requête bonne mais pas d'affichage

ViPHP
ViPHP | 5462 Messages

28 sept. 2010, 22:44

non mais trim fais deja tout les caractères
$nommagtrim = trim($nommag);
c'est au moment de l'import qu'il fallait le faire la finis les données sont dans la base

Eléphanteau du PHP | 22 Messages

28 sept. 2010, 22:47

Petit Up :
Objectif : ce que je recherche à faire est de voir si j'obtiens des résultats à partir d'une requête dont la valeur du champ interrogé est une cellule d'un fichier excel.
Pb : les cellules du fichier excel contiennent pleins d'espaces (parfois à la suite des uns des autres) alors que les valeurs des champs dans ma base contiennent uniquement 1 espace entre chaque mot.

Ex du Pb : " Mon joli magasin " (excel) est différent de "Mon Joli magasin" (base)
D'où mes requêtes n'obtiennent aucun résultat

C'est plus clair ?

Merci de votre aide.

ViPHP
ViPHP | 5462 Messages

28 sept. 2010, 22:51

t'es en innoDB ou MyISAM ?

Eléphanteau du PHP | 22 Messages

28 sept. 2010, 22:57

Type: MyISAM

Par contre, il n'y pas encore import, ce sont juste pour l'instant des vérifications d'existance.
Une fois que ces vérifications d'existance marcheront, j'insérerai les données dont j'ai besoin, du fichier excel dans ma base. Je vais pas tout de suite pollué ma base.

ViPHP
ViPHP | 5462 Messages

28 sept. 2010, 22:59

Type: MyISAM

Par contre, il n'y pas encore import, ce sont juste pour l'instant des vérifications d'existance.
Une fois que ces vérifications d'existance marcheront, j'insérerai les données dont j'ai besoin, du fichier excel dans ma base. Je vais pas tout de suite pollué ma base.
t'as bien raison :wink:

pour MyISAM la recherche c'est avec MATCH AGAINST, sur des INDEX FULLTEXT
http://dev.mysql.com/doc/refman/5.0/fr/ ... earch.html

Eléphanteau du PHP | 22 Messages

28 sept. 2010, 23:22

super intéressant ton lien. je garde.

Par contre, j'ai essayé avec :
$query_existmag = "SELECT * FROM `mp_magasin` WHERE MATCH(titremag) AGAINST '$nommag' ";

et

$query_existmag = "SELECT id,MATCH (titremag) AGAINST '$nommag' FROM `mp_magasin` ";

Rien y fait, toujours pas de résultat. Ni même directement dans phpmyadmin en copiant/collant l'echo de ces requêtes.

ViPHP
ViPHP | 5462 Messages

28 sept. 2010, 23:24

t'as activer le FULLTEXT sur ta colonne ?

il te faut plus de 2 lignes aussi pour que ca marche

et la requete c'est
SELECT * FROM `mp_magasin` WHERE MATCH(titremag) AGAINST ('$nommag') 
active tes erreurs pour mysql...
sql-bases-donnees/gestion-des-erreurs-m ... 55306.html

Eléphanteau du PHP | 22 Messages

28 sept. 2010, 23:46

t'as activer le FULLTEXT sur ta colonne ?
Actuellement le type du champ "titremag" est VARCHAR. Tu souhaites que je le passes en FULLTEXT, c'est bien ça ?
Car dans la liste des choix possibles, j'ai TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT, ... mais pas FULLTEXT.

J'ai mal compris ?

ps: merci pour l'affichage des erreurs mysql. C'est vrai que c'est plus explicite ainsi. :wink:

ViPHP
ViPHP | 5462 Messages

28 sept. 2010, 23:48

t'as activer le FULLTEXT sur ta colonne ?
Actuellement le type du champ "titremag" est VARCHAR. Tu souhaites que je le passes en FULLTEXT, c'est bien ça ?
Car dans la liste des choix possibles, j'ai TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT, ... mais pas FULLTEXT.
no no FULLTEXT c'est un type d'index
dans phpmyadmin quand tu va dans structure c'est le T bleu a la droit, tu clique dessus pour lui mettre l'index
ou tu le fais a la main, c'est expliquer dans le lien que je t'ai donné

Eléphanteau du PHP | 22 Messages

28 sept. 2010, 23:54

ok j'ai mis l'index dessus ( :D )
Mais toujours pas de résultat en front. Par contre j'ai à nouveau des résultats à partir de l'echo de la requête dans phpmyadmin

ViPHP
ViPHP | 5462 Messages

28 sept. 2010, 23:56

ok j'ai mis l'index dessus ( :D )
Mais toujours pas de résultat en front. Par contre j'ai à nouveau des résultats à partir de l'echo de la requête dans phpmyadmin
t'as combien de ligne en tout ?

Eléphanteau du PHP | 22 Messages

29 sept. 2010, 00:05

ok j'ai mis l'index dessus ( :D )
Mais toujours pas de résultat en front. Par contre j'ai à nouveau des résultats à partir de l'echo de la requête dans phpmyadmin
t'as combien de ligne en tout ?
J'ai souvent plus d'une ligne.
D'ailleurs si je fais une recherche composée de 2 mots (ex: "mon magasin"), la requête me donne tous les magasins contenant "mon" et/ou "magasin".
Y a pas moyen de restreindre à "mon" et "magasin" exclusivement ??

ViPHP
ViPHP | 5462 Messages

29 sept. 2010, 00:07

avec la solution de christele

Eléphanteau du PHP | 22 Messages

29 sept. 2010, 00:14

avec la solution de christele
Déjà essayé et re-essayé à l'instant, rien de nouveau :
toujours pas de résultat côté front et le bon résultat dans phpmyadmin à partir de l'echo de la requête.

ViPHP
ViPHP | 5462 Messages

29 sept. 2010, 00:20

dans phpmyadmin ca marche ?
montre ton code php