Gérer si il y a plusierus mots ds un champs
ladj59
Messages postés
322
Statut
Membre
-
Enax Messages postés 204 Statut Membre -
Enax Messages postés 204 Statut Membre -
Bonjour,
j'ai fait un formulaire et pour le cahmps mots_clé il peut y avoir plusieurs mots dans le mm champs .
or avec mon code cela ne marche ke kan il y un mot
comment faire pour ke si je tape plusieurs mots_clé(ds le mm champs) kan je fé recherché par mots clé il gére bien le pb...
merrci
j'ai fait un formulaire et pour le cahmps mots_clé il peut y avoir plusieurs mots dans le mm champs .
or avec mon code cela ne marche ke kan il y un mot
comment faire pour ke si je tape plusieurs mots_clé(ds le mm champs) kan je fé recherché par mots clé il gére bien le pb...
merrci
A voir également:
- Gérer si il y a plusierus mots ds un champs
- Gerer stockage google - Guide
- Gérer les applications au démarrage - Guide
- Comment savoir si mes mots de passe sont compromis - Guide
- Mots de passe enregistrés - Guide
- Générateur de mots - Télécharger - Sécurité
14 réponses
oue ms g deja $donnees['mots_clé']==$_POST['mots_clé'])) dc mots clé é deja ds la ( donc comment diférencié lé diférents mots clé ki sont ds la bdd $donnees['mots_clé']==$_POST['mots_clé'][1] $donnees['mots_clé']==$_POST['mots_clé'][2]???
moi fodré un truc ki fasse si un des mots clé kje tape se trouve ds la bdd(ds le champs mots clé) alors il mafiche la ligne corespondante
car en fait ds ce ke g actuellement si je mé atomes et fisike comem motrs clé pour lui ca fé ke "un mot"
jvoi pa tro avec explode coment faire
merci de votre aide
moi fodré un truc ki fasse si un des mots clé kje tape se trouve ds la bdd(ds le champs mots clé) alors il mafiche la ligne corespondante
car en fait ds ce ke g actuellement si je mé atomes et fisike comem motrs clé pour lui ca fé ke "un mot"
jvoi pa tro avec explode coment faire
merci de votre aide
Commence par relire la charte de CCM:
"Rédiger les messages dans un langage clair sans abréviations, style télégraphique ou mode SMS."
C'est écrit juste à droite !
Ton post est pénible à lire.
"Rédiger les messages dans un langage clair sans abréviations, style télégraphique ou mode SMS."
C'est écrit juste à droite !
Ton post est pénible à lire.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
oui mais j'ai deja $donnees['mots_clé']==$_POST['mots_clé'])) donc mots clé est déja dans la parenthése donc comment diférencier les
différents mots clé qui sont dans la bdd $donnees['mots_clé']==$_POST['mots_clé'][1] $donnees['mots_clé']==$_POST['mots_clé'][2]???
moi il me faudrait un truc qui fasse :si un des mots clé que je tape se trouve dans la bdd(dans le champs mots clé) alors il mafiche la ligne correspondante
car en fait dans le cas que j'ai actuellement ,si je met atomes et fisike comme mots clé pour lui ca fé que "un mot"
donc je ne vois pas trop avec explode coment faire
merci de votre aide5 message(s) posté(s) depuis le lundi 11 février 2008
désolé pour mon langage
différents mots clé qui sont dans la bdd $donnees['mots_clé']==$_POST['mots_clé'][1] $donnees['mots_clé']==$_POST['mots_clé'][2]???
moi il me faudrait un truc qui fasse :si un des mots clé que je tape se trouve dans la bdd(dans le champs mots clé) alors il mafiche la ligne correspondante
car en fait dans le cas que j'ai actuellement ,si je met atomes et fisike comme mots clé pour lui ca fé que "un mot"
donc je ne vois pas trop avec explode coment faire
merci de votre aide5 message(s) posté(s) depuis le lundi 11 février 2008
désolé pour mon langage
Tu précises dans ton formulaire de séparer les mots par un caractère précis (espace, plus, slash...).
Tu exploses la chaîne en fonction du séparateur :
Puis tu fais ta recherche avec les éléments de l'array.
Tu exploses la chaîne en fonction du séparateur :
$mots_cle = explode('+', $_POST['mots_clé']);
Puis tu fais ta recherche avec les éléments de l'array.
j'ai un souci en effet quand j'utilise la fonction explode dans mo ncode cela m'affiche a chaque fois tous les mots_clé qui sont en 1ére position dans le champs mot_clé de ma base de données.
Or je voudrais qu'il m'affiche tous les mots de chaque "case" du champs mots clé
exemple actuellement dans la bdd il y a :- ligne 1 il y a atomes physique comme mots clé
-ligne 2 il y a sciences silicium
actuellement avec mon code ca maffiche quand je mets $pieces[0] : atomes sciences
actuellement avec mon code ca maffiche quand je mets $pieces[1] :physique silicium
moi je voudrais que ca m'affiche atomes sciences pour $pieces[0] et physique silicium pour $pieces[1]
mon code actuel :
<?php
mysql_connect("localhost", "root", ""); // Connexion à MySQL
mysql_select_db("physique"); // Sélection de la base coursphp
$reponse = mysql_query("SELECT * FROM base_physique"); // Requête SQL
while ($donnees = mysql_fetch_array($reponse))
{
$pieces = explode(" ", $donnees['mots_clé']);
echo $pieces[0];
echo $pieces[1];
?>
Or je voudrais qu'il m'affiche tous les mots de chaque "case" du champs mots clé
exemple actuellement dans la bdd il y a :- ligne 1 il y a atomes physique comme mots clé
-ligne 2 il y a sciences silicium
actuellement avec mon code ca maffiche quand je mets $pieces[0] : atomes sciences
actuellement avec mon code ca maffiche quand je mets $pieces[1] :physique silicium
moi je voudrais que ca m'affiche atomes sciences pour $pieces[0] et physique silicium pour $pieces[1]
mon code actuel :
<?php
mysql_connect("localhost", "root", ""); // Connexion à MySQL
mysql_select_db("physique"); // Sélection de la base coursphp
$reponse = mysql_query("SELECT * FROM base_physique"); // Requête SQL
while ($donnees = mysql_fetch_array($reponse))
{
$pieces = explode(" ", $donnees['mots_clé']);
echo $pieces[0];
echo $pieces[1];
?>
Bonsoir,
Normal tu ne fais pas ta requette avec des criteres
$reponse = mysql_query("SELECT * FROM base_physique"); // Requête SQL
il faut:
Normal tu ne fais pas ta requette avec des criteres
$reponse = mysql_query("SELECT * FROM base_physique"); // Requête SQL
il faut:
$pieces = explode(" ", $_POST['mots_cles']);
for($i=0;$i<sizeof($pieces);$i++){
$reponse = mysql_query("SELECT * FROM base_physique WHERE champ_mots_cles='".$pieces[$i]."'"); // Requête SQL
while ($donnees = mysql_fetch_array($reponse)){
echo $donnees['champ_mots_cles']."<br>";
}
}
j'ai testé ton code alain et il n'y a rien qui s'affiche...je ne sais pas pourquoi
le code:
<?php
mysql_connect("localhost", "root", ""); // Connexion à MySQL
mysql_select_db("physique"); // Sélection de la base coursphp
$pieces = explode(" ", $_POST['mots_clé']);
for($i=0;$i<sizeof($pieces);$i++)
{
$reponse = mysql_query("SELECT * FROM base_physique WHERE mots_clé='".$pieces[$i]."'"); // Requête SQL
while ($donnees = mysql_fetch_array($reponse))
{
echo $donnees['mots_clé']."<br>";
}
}
?>
<?php
mysql_close();
?>
le code:
<?php
mysql_connect("localhost", "root", ""); // Connexion à MySQL
mysql_select_db("physique"); // Sélection de la base coursphp
$pieces = explode(" ", $_POST['mots_clé']);
for($i=0;$i<sizeof($pieces);$i++)
{
$reponse = mysql_query("SELECT * FROM base_physique WHERE mots_clé='".$pieces[$i]."'"); // Requête SQL
while ($donnees = mysql_fetch_array($reponse))
{
echo $donnees['mots_clé']."<br>";
}
}
?>
<?php
mysql_close();
?>
re,
si quelqu'un pouvait me renseigner sur mon probléme ce serait cool car je suis un peu en galérre la ....
si quelqu'un pouvait me renseigner sur mon probléme ce serait cool car je suis un peu en galérre la ....
C'est normal :
1. mot-clé n'est pas un bom nom de colonne mysql, utilise plutôt motClef
2. si cette colonne motClef contient "physique silicium", il est normal qu'un SELECT avec WHERE motClef = "physique" ne trouve pas l'enregistrement correspondant : utilise plutôt WHERE motClef like '%physique%'
3. le fait de générer un SELECT par mot-clef de recherche n'est pas bon : utilise plutôt WHERE motClef like '%physique%' OR motClef like '%chimie%' etc...
Lit la doc php/mysql, réflechis, expérimente...
1. mot-clé n'est pas un bom nom de colonne mysql, utilise plutôt motClef
2. si cette colonne motClef contient "physique silicium", il est normal qu'un SELECT avec WHERE motClef = "physique" ne trouve pas l'enregistrement correspondant : utilise plutôt WHERE motClef like '%physique%'
3. le fait de générer un SELECT par mot-clef de recherche n'est pas bon : utilise plutôt WHERE motClef like '%physique%' OR motClef like '%chimie%' etc...
Lit la doc php/mysql, réflechis, expérimente...
je suis d'accord avec toi...cependant je n'arrive toujours pas a resudre mon probléme...
En effet, il faudrait que quand je tape un mot clé dans ma case recherche il regarde tous les mots clé qui sont dans la base de données sachant que dans chaque case de la base de données peut conteni un ou plusieurs mots clé donc quand il n'a a qu'un mot ca marche normalement mais quand il y en a plusieurs je n'arrive toujours pas à gérer le cas...
SVP de l'aide
jr'ai essayé pas mal de choses mais en vain....
En effet, il faudrait que quand je tape un mot clé dans ma case recherche il regarde tous les mots clé qui sont dans la base de données sachant que dans chaque case de la base de données peut conteni un ou plusieurs mots clé donc quand il n'a a qu'un mot ca marche normalement mais quand il y en a plusieurs je n'arrive toujours pas à gérer le cas...
SVP de l'aide
jr'ai essayé pas mal de choses mais en vain....
Essaye ce que je te suggère dans mon message et que je te rappelle :
1. changer le nom de colonne de ta table en nomClef (mots_clé ne peut pas marher)
2. essaye de changer ta clause WHERE en WHERE motClef like '%physique%' (je te laisse le soin d'adapter ton code PHP en conséquence)
Lorsque ça marchera, essaye 3 pour avoir une sctructure de programme meilleure.
Bon courage, "c'est en forgeant qu'on devient forgeron"
1. changer le nom de colonne de ta table en nomClef (mots_clé ne peut pas marher)
2. essaye de changer ta clause WHERE en WHERE motClef like '%physique%' (je te laisse le soin d'adapter ton code PHP en conséquence)
Lorsque ça marchera, essaye 3 pour avoir une sctructure de programme meilleure.
Bon courage, "c'est en forgeant qu'on devient forgeron"