Je ne comprends pas
ladj59
Messages postés
322
Statut
Membre
-
Dalida Messages postés 7114 Date d'inscription Statut Contributeur Dernière intervention -
Dalida Messages postés 7114 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
$reponse = mysql_query("SELECT * FROM base_physique"); // Requête SQL
$sql ="SELECT * FROM base_physique WHERE ";
$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);
}
voila ce que cela me mets: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\tests\cc.php on line 170(while ($donnees = mysql_fetch_array($reponse2))
en fait quand je tape lauteur qui est a la premiere ligne de ma base de données ca marche mais si c'est un autre ca ne marche pas il ne gére que la 1ére ligne de la base de données mais je ne vois pas quoi changer...
$reponse = mysql_query("SELECT * FROM base_physique"); // Requête SQL
$sql ="SELECT * FROM base_physique WHERE ";
$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);
}
voila ce que cela me mets: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\tests\cc.php on line 170(while ($donnees = mysql_fetch_array($reponse2))
en fait quand je tape lauteur qui est a la premiere ligne de ma base de données ca marche mais si c'est un autre ca ne marche pas il ne gére que la 1ére ligne de la base de données mais je ne vois pas quoi changer...
15 réponses
$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
$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
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'] ?>.
++
<?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
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.
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
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!!
"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?