Je ne comprends pas
Fermé
ladj59
Messages postés
322
Date d'inscription
lundi 11 février 2008
Statut
Membre
Dernière intervention
29 décembre 2008
-
18 févr. 2008 à 18:36
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 - 19 févr. 2008 à 19:11
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 - 19 févr. 2008 à 19:11
15 réponses
ladj59
Messages postés
322
Date d'inscription
lundi 11 février 2008
Statut
Membre
Dernière intervention
29 décembre 2008
3
18 févr. 2008 à 18:55
18 févr. 2008 à 18:55
quelqu'un a une idée?
ladj59
Messages postés
322
Date d'inscription
lundi 11 février 2008
Statut
Membre
Dernière intervention
29 décembre 2008
3
19 févr. 2008 à 09:08
19 févr. 2008 à 09:08
sil vous plait quelqu'un peut m'aider.... c'est urgent!!
masdmaah
Messages postés
48
Date d'inscription
samedi 26 janvier 2008
Statut
Membre
Dernière intervention
9 décembre 2016
2
19 févr. 2008 à 11:00
19 févr. 2008 à 11:00
$reponse = mysql_query("SELECT * FROM base_physique"); // Requête SQL
$sql ="SELECT * FROM base_physique WHERE ";
while($donnees = mysql_fetch_array($reponse) )
{
if (($donnees['auteur']==$_POST['auteur']) && ($_POST['titre']=='') && ($_POST['année']=='') && ($_POST['journal']=='') && ($_POST['motsclé']==''))
{
$sql .="auteur LIKE '%".$_POST['auteur']."%'";
$reponse2 = mysql_query($sql);
}
}
en mettant ça dans une boucle je pense que ça serait mieux, car la tu ne récupère qu'un seul résultat, e qui pourrait expliqué pourquoi ça marche avec le première auteur de ta base.
Je ne sais pas si je répond bien à ta question car tu met que l'erreur est sur while ($donnees = mysql_fetch_array($reponse2))
et on ne voit pas ça dans la partie du code que tu met
cdt
$sql ="SELECT * FROM base_physique WHERE ";
while($donnees = mysql_fetch_array($reponse) )
{
if (($donnees['auteur']==$_POST['auteur']) && ($_POST['titre']=='') && ($_POST['année']=='') && ($_POST['journal']=='') && ($_POST['motsclé']==''))
{
$sql .="auteur LIKE '%".$_POST['auteur']."%'";
$reponse2 = mysql_query($sql);
}
}
en mettant ça dans une boucle je pense que ça serait mieux, car la tu ne récupère qu'un seul résultat, e qui pourrait expliqué pourquoi ça marche avec le première auteur de ta base.
Je ne sais pas si je répond bien à ta question car tu met que l'erreur est sur while ($donnees = mysql_fetch_array($reponse2))
et on ne voit pas ça dans la partie du code que tu met
cdt
ladj59
Messages postés
322
Date d'inscription
lundi 11 février 2008
Statut
Membre
Dernière intervention
29 décembre 2008
3
19 févr. 2008 à 11:32
19 févr. 2008 à 11:32
$reponse = mysql_query("SELECT * FROM base_physique"); // Requête SQL
$sql ="SELECT * FROM base_physique WHERE ";
while ($donnees = mysql_fetch_array($reponse))
{
if (($donnees['auteur']==$_POST['auteur']) && ($_POST['titre']=='') && ($_POST['année']=='') && ($_POST['journal']=='') && ($_POST['motsclé']==''))
{
$sql .="auteur LIKE '%".$_POST['auteur']."%'";
$reponse2 = mysql_query($sql);
}
.....
while ($donnees = mysql_fetch_array($reponse2))
{
?>
<p>
<strong>L'auteur est</strong> : <?php echo $donnees['auteur']; ?><br />
Le titre est : <?php echo $donnees['titre']; ?> et l'année est <?php echo $donnees['année']; ?> <br />
Le journal est : <?php echo $donnees['journal']; ?> et le volume est :<?php echo $donnees['volume']; ?> <br />
La page est :<?php echo $donnees['page']; ?> <br/>
Les mots clé de la recherche sont:<?php echo $donnees['motsclé']; ?> <br/>
<a href="<?php echo $donnees['pdf']?>"> Clique ici pour voir le pdf associé </a>
</p>
<?php
}
?>
le probléme est que si il y a un auteur qui ne figure qu'une fois dans la base de données le code marche correctrerment e m'affiche ce que je veux
en revanche si un ateur(ou titre...) figure plus dune fois dans la base de données cela ne marche pas et m'affiche l'erreur suivante;
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\tests\cc.php on line 172
( la ligne 172 étant while ($donnees = mysql_fetch_array($reponse2))
merrci de m'aider please pour que cela marche dans tous les cas
$sql ="SELECT * FROM base_physique WHERE ";
while ($donnees = mysql_fetch_array($reponse))
{
if (($donnees['auteur']==$_POST['auteur']) && ($_POST['titre']=='') && ($_POST['année']=='') && ($_POST['journal']=='') && ($_POST['motsclé']==''))
{
$sql .="auteur LIKE '%".$_POST['auteur']."%'";
$reponse2 = mysql_query($sql);
}
.....
while ($donnees = mysql_fetch_array($reponse2))
{
?>
<p>
<strong>L'auteur est</strong> : <?php echo $donnees['auteur']; ?><br />
Le titre est : <?php echo $donnees['titre']; ?> et l'année est <?php echo $donnees['année']; ?> <br />
Le journal est : <?php echo $donnees['journal']; ?> et le volume est :<?php echo $donnees['volume']; ?> <br />
La page est :<?php echo $donnees['page']; ?> <br/>
Les mots clé de la recherche sont:<?php echo $donnees['motsclé']; ?> <br/>
<a href="<?php echo $donnees['pdf']?>"> Clique ici pour voir le pdf associé </a>
</p>
<?php
}
?>
le probléme est que si il y a un auteur qui ne figure qu'une fois dans la base de données le code marche correctrerment e m'affiche ce que je veux
en revanche si un ateur(ou titre...) figure plus dune fois dans la base de données cela ne marche pas et m'affiche l'erreur suivante;
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\tests\cc.php on line 172
( la ligne 172 étant while ($donnees = mysql_fetch_array($reponse2))
merrci de m'aider please pour que cela marche dans tous les cas
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ladj59
Messages postés
322
Date d'inscription
lundi 11 février 2008
Statut
Membre
Dernière intervention
29 décembre 2008
3
19 févr. 2008 à 12:37
19 févr. 2008 à 12:37
quelqu'un a une idée svp???
c'est assez urgent...
c'est assez urgent...
masdmaah
Messages postés
48
Date d'inscription
samedi 26 janvier 2008
Statut
Membre
Dernière intervention
9 décembre 2016
2
19 févr. 2008 à 12:41
19 févr. 2008 à 12:41
Merci je comprend mieux ton probleme malheureusement je ne pourrais pas t'aider, car j'avais le même probleme.
Dès que j'avais du code html dans la boucle while, il me mettais une erreur
j'ai donc rangé les info de la requète dans un tableau.
et j'ai mis le code html dans un boucle for allant de 0 => count($tableau)
C'est de la bidouille mais ça marche, après je pense qu'il y a d'autes solutions.
Sinon dans le code html tu peux remplacer <?php echo $donnees['titre']; ?> par <?=$donnees['titre'] ?>.
++
Dès que j'avais du code html dans la boucle while, il me mettais une erreur
j'ai donc rangé les info de la requète dans un tableau.
et j'ai mis le code html dans un boucle for allant de 0 => count($tableau)
C'est de la bidouille mais ça marche, après je pense qu'il y a d'autes solutions.
Sinon dans le code html tu peux remplacer <?php echo $donnees['titre']; ?> par <?=$donnees['titre'] ?>.
++
ladj59
Messages postés
322
Date d'inscription
lundi 11 février 2008
Statut
Membre
Dernière intervention
29 décembre 2008
3
19 févr. 2008 à 14:30
19 févr. 2008 à 14:30
<?php
$mots = explode(" ", $_POST['motsclé']);
if (($_POST['auteur']=='') && ($_POST['titre']=='') && ($_POST['année']=='') && ($_POST['journal']=='') && ($_POST['motsclé']!=''))
{
for($i=0;$i<sizeof($mots);$i++)
{
$reponse = mysql_query("SELECT * FROM base_physique WHERE motsclé LIKE '%".$mots[$i]."%'"); // Requête SQL
while ($donnees = mysql_fetch_array($reponse))
{
?>
<p>
<Les mots clé de la recherche sont:<?php echo $donnees['motsclé']; ?> <br/>
</p>
<?php
}
}
}
?>
mon probléme est que si -j'ai une ligne dans ma base de données qui est : silicium precision atomes dans le champs motsclé
-j'ai une autre ligne ou il y a: atomes physique dans le champs motsclé
le probléme est que quand je tape atomes precision en recherche ca maffiche
Les mots clé de la recherche sont: atomes physique
Les mots clé de la recherche sont: silicium precision atomes
Les mots clé de la recherche sont: silicium preciion atomes
vous l'avez compris le probléme est qu'il m'affiche 2fois la ligne avec les mots clé silicium precision atomes
en gros il regarde dabord pour le mot atomes et affiche les ligne correspondantes puis regarde precision et affiche la ligne
il faudrait donc que je fasse un truc pour dire que si la ligneestr deja affichée je la réaffiche plus mais je ne sais pas comment faire
please help me
$mots = explode(" ", $_POST['motsclé']);
if (($_POST['auteur']=='') && ($_POST['titre']=='') && ($_POST['année']=='') && ($_POST['journal']=='') && ($_POST['motsclé']!=''))
{
for($i=0;$i<sizeof($mots);$i++)
{
$reponse = mysql_query("SELECT * FROM base_physique WHERE motsclé LIKE '%".$mots[$i]."%'"); // Requête SQL
while ($donnees = mysql_fetch_array($reponse))
{
?>
<p>
<Les mots clé de la recherche sont:<?php echo $donnees['motsclé']; ?> <br/>
</p>
<?php
}
}
}
?>
mon probléme est que si -j'ai une ligne dans ma base de données qui est : silicium precision atomes dans le champs motsclé
-j'ai une autre ligne ou il y a: atomes physique dans le champs motsclé
le probléme est que quand je tape atomes precision en recherche ca maffiche
Les mots clé de la recherche sont: atomes physique
Les mots clé de la recherche sont: silicium precision atomes
Les mots clé de la recherche sont: silicium preciion atomes
vous l'avez compris le probléme est qu'il m'affiche 2fois la ligne avec les mots clé silicium precision atomes
en gros il regarde dabord pour le mot atomes et affiche les ligne correspondantes puis regarde precision et affiche la ligne
il faudrait donc que je fasse un truc pour dire que si la ligneestr deja affichée je la réaffiche plus mais je ne sais pas comment faire
please help me
ladj59
Messages postés
322
Date d'inscription
lundi 11 février 2008
Statut
Membre
Dernière intervention
29 décembre 2008
3
19 févr. 2008 à 15:02
19 févr. 2008 à 15:02
quelqu'un peut m'aider svp.....
neo2099
Messages postés
164
Date d'inscription
vendredi 13 avril 2007
Statut
Membre
Dernière intervention
9 avril 2020
12
19 févr. 2008 à 15:04
19 févr. 2008 à 15:04
Bonjour,
Ben une fois que la boucle while a trouver ce que tu chercher donc un SI dans ton while puis avant la fin du SI tu met un exit(); la boucle s'arretera. Voili voila si tu as besoin de plus de precision n'hesite pas a demander.
Ben une fois que la boucle while a trouver ce que tu chercher donc un SI dans ton while puis avant la fin du SI tu met un exit(); la boucle s'arretera. Voili voila si tu as besoin de plus de precision n'hesite pas a demander.
ladj59
Messages postés
322
Date d'inscription
lundi 11 février 2008
Statut
Membre
Dernière intervention
29 décembre 2008
3
19 févr. 2008 à 15:55
19 févr. 2008 à 15:55
oue mais jvois pas quoi mettre dans mon if pour que cela fasse que si la ligne a déja été affiché elle ne se réaffiche plus...
help me plz
help me plz
ladj59
Messages postés
322
Date d'inscription
lundi 11 février 2008
Statut
Membre
Dernière intervention
29 décembre 2008
3
19 févr. 2008 à 16:52
19 févr. 2008 à 16:52
please need help
je suis bloqué sur une ereur pas dure je pense mais je tourne e nrond...
je suis bloqué sur une ereur pas dure je pense mais je tourne e nrond...
ladj59
Messages postés
322
Date d'inscription
lundi 11 février 2008
Statut
Membre
Dernière intervention
29 décembre 2008
3
19 févr. 2008 à 17:06
19 févr. 2008 à 17:06
donc comment faire poru dire que si une ligne a déja été affiché on ne la réaffiche pas *???
je pensais utiliser les id dans un if mais je suis bloqué
aidez moi pleaes c'est urgent!!
je pensais utiliser les id dans un if mais je suis bloqué
aidez moi pleaes c'est urgent!!
masdmaah
Messages postés
48
Date d'inscription
samedi 26 janvier 2008
Statut
Membre
Dernière intervention
9 décembre 2016
2
19 févr. 2008 à 19:07
19 févr. 2008 à 19:07
"aidez moi pleaes c'est urgent!!"
ce n'est pas en répétant ça qu'on va t'aider plus ;)
ce que je comprend c'est que tu n'exposes plus du tout le même pb qu'au début du post, le premier probleme est résolu?
ce n'est pas en répétant ça qu'on va t'aider plus ;)
ce que je comprend c'est que tu n'exposes plus du tout le même pb qu'au début du post, le premier probleme est résolu?
ladj59
Messages postés
322
Date d'inscription
lundi 11 février 2008
Statut
Membre
Dernière intervention
29 décembre 2008
3
19 févr. 2008 à 19:11
19 févr. 2008 à 19:11
ben en fait le probléme c'était ça....j'avais mal interprété donc la il faudrait que je resolve ce probléme la...
désolé si je répéte mais c'est car c'est urgent...
désolé si je répéte mais c'est car c'est urgent...
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
921
19 févr. 2008 à 19:11
19 févr. 2008 à 19:11
salut,
tu utilises la même variable dans les deux boucles.
essaie avec :
et en modifiant après.
tu utilises la même variable dans les deux boucles.
essaie avec :
while ($donnees2 = mysql_fetch_array($reponse2))
et en modifiant après.