il ne faut pas utiliser MATCH...AGAINST parce que tu le veux ou que c'est "cool" et vu ton code tu ne sais pas trop comment ça fonctionne. un LIKE ou = (suivant le type de recherche) serait suffisant selon les définitions de tes tables.
Un code moderne n'utilise plus les fonctions mysql_ mais mysqli ou PDO, pas besoin de faire un urldecode sur $_GET.
Quand tu ouvres une chaine avec ", pas besoin de concaténer PHP reconnait les variables dans ce cas (ça te fait trop de concaténations inutiles)
On comprend pas pourquoi tu as d'un côté un varchar(6) et de l'autre varchar(10).
Faute de frappe ? Tu utilises products dans ta requête et tu nous montres produits dans la définition de la table
- Edité par WillyKouassi 9 décembre 2018 à 20:29:11
Merci Philodick $code_article me retourne bien le code_article dans la table produits, là ça marche bien.
Mon code n'est pas moderne, mais j'apprends comme je peux tout seul ;-)
Je n'utilise pas MATCH...AGAINST parce "que je le veux ou que c'est "cool"", c'est quoi cette réflexion, je l'utilise parce que j'ai suivi un tuto et que c'était dedans, j'apprends c'est tout. Si tu veux m'aider, donne moi un code qui corrige le mien, ce sera trop cool, pouf pouf pouf ;-)
je ne sais pas quel tuto tu suis avec l'utilisation de fonctions comme mysql_xxx mais abandonne le maintenant (ce n'est pas une obligation, mais un conseil).
Pour le MATCH...AGAINST , je suppose que dans le tuto que tu as suivi , ils t'ont parlé de FULLTEXT quelque part non ?
Je ne pourrais pas corriger tout ton code (parce que tout est à corriger et tu as des indications dans mon précédent message) , mais la question reste posée tout de même pourquoi dans ta requête tu as "products" et ta table s'appelle "produits" dans ta définition, c'est dû à une faute de frappe ou tu as les 2 tables et "products" est vide.
- Edité par WillyKouassi 9 décembre 2018 à 23:14:12
Voici ma requête corrigée avec produits à la place de products :
Et j'ai bien un index fulltext sur code_article qui n'apparaît pas parce que j'ai synthétisé le code pour simplifier pour les personnes qui voudront bien m'aider à construire ma requête. Ma table produits est presque vide parce que je teste juste sur ce produit, j'en ai plusieurs millions en réel. Oui mon code est vieux et obsolète mais je reprends le travail de quelqu'un alors je me concentre sur le fonctionnement et après je vais l'actualiser. Si je me permet de poster, c'est que je n'arrive pas à me débrouiller avec cette requ^te. Merci pour votre aide
SELECT article_alter,commentaire
FROM alternatives
INNER JOIN produits
ON alternatives.code_article = produits.code_article
WHERE alternatives.code_article = 'BDY320'
Cela dit en passant, je ne vois pas vraiment l'intérêt de faire une jointure dans la mesure où tu ne sélectionnes que des colonnes de la première table.
Oui ça me renvoie bien ce résultat. Je ne suis peut-être pas obligé de faire une jointure mais je ne sais pas comment tourner la requête pour récupérer ce que je recherche.
Non en fait, je récupère bien le contenu de code_article si je fais un echo mais la requête ne fonctionne pas, c'est pour ça que je demande l'aide, j'ai répondu un peu vite, désolé.
Dans phpmyadmin, je récupère la totalité de la table alternatives et pas juste le code_article de la table alternatives qui correspond au code_article de la table produits tout en tenant compte du $_POST['search'] ou $_GET['search'] récupéré dans la recherche
As-tu testé la requête suivante directement dans phpMyAdmin ? :
SELECT article_alter,commentaire
FROM alternatives
INNER JOIN produits
ON alternatives.code_article = produits.code_article
WHERE alternatives.code_article = 'BDY320'
MySQL a retourné un résultat vide (c'est-à-dire aucune ligne). (traité en 0,0000 seconde(s).)
SELECT article_alter,commentaire FROM alternatives INNERJOIN products ON alternatives.code_article = products.code_articleWHERE alternatives.code_article = 'BDY320'
SELECT article_alter,commentaire
FROM alternatives
INNER JOIN products
ON alternatives.code_article = products.code_article
WHERE alternatives.code_article = 'BDY320'
Et je récupère dans la table products après le produit lié de la table alternatives, c'est pour ça que je fais une jointure. Après avoir trouvé le produit qui est lié dans la table alternatives, je vais chercher le produit trouvé et afficher ses infos qui se trouvent dans la table products.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
N'oubliez pas d'activer les erreurs PDO.
N'oubliez pas d'activer les erreurs PDO.
N'oubliez pas d'activer les erreurs PDO.
N'oubliez pas d'activer les erreurs PDO.
N'oubliez pas d'activer les erreurs PDO.
N'oubliez pas d'activer les erreurs PDO.