Php+sql = problème !

[Résolu]
Signaler
Messages postés
61
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
9 mai 2010
-
Messages postés
61
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
9 mai 2010
-
Bonjour à tous,

voila, j'affiche des questions et je veux, par un bouton, connaitre la réponse qui va s'afficher dans l'autre partie de mon tableau. Je voulais faire intervenir l'identifiant de la question  en tant que nom du bouton, pour pouvoir dire  que quand je clique sur le bouton qui a cet identifiant, je puisse trouver  la réponse qui a le meme identifiant que la question. Je sais pas si vous me suivez . Voici ce que j'ai deja fait ...

dans une page qui va afficher les questions, on a :

<form method="POST" action="affich_rep.php">

" value="<?php echo $val2["id_quest_rep"]?> ">

</form>

et dans affich_rep, on a :

$query = "SELECT * FROM $table WHERE id_quest_rep= ' ".$_POST['$val2["id_quest_rep"]']." ';";

Si quelqu'un a compris et veut bien m'aider, je le citerais dans mon travail .

12 réponses

Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
1
Lu,

Euh, tout cimplement car ma requête est entre simple ' et donc ne prend pas compte des variables (ou alors faut mettre des ")
$query <gras> 'SELECT * FROM  ' . $  . '</gras> WHERE id_quest_rep </gras> ' . $id_quest; 


ou
$query = "SELECT * FROM $$id_quest"; 






Là ça devrait marché ;)
<hr />Si ma reponse te convient, merci de l'accepter ! 
Messages postés
61
Date d'inscription
vendredi 6 janvier 2006
Statut
Membre
Dernière intervention
19 septembre 2011

Salut,

Tu as un souci sur les deux pages

Vrai
Faux

Ensuite dans ta premiere page tu ecrit <?php $val2["id_quest_rep"]?> car je suppose qu'il provient d'une ligne ressemblant à cela
while($val2 = mysql_fetch_array($req))
mais dans ta deuxieme page $_POST['$val2["id_quest_rep"]'] est totalement faux
$_POST prend la valeur du nom de ton champ, dans mon exemple cela correspondrait à $_POST['verif']
Messages postés
61
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
9 mai 2010
2
oui mais alors, si on ne peut pas transmettre de données par un submit, autant faire un lien. Je vois mal un visiteur cocher une case pour voir une réponse si tu vois ce que je veux dire. Si quelqu'un a idée de lien entre la question et la réponse ...
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
1
Hello

Je pencherais plus pour un lien normal ...

[ma_page_reponse.php?id_quest=1 Reponde Q°1]
[ma_page_reponse.php?id_quest=10 Reponde Q°10]
[ma_page_reponse.php?id_quest=152 Reponde Q°152]

Et ta page ma_page_reponse.php
if( isset($_GET['id_quest']) &amp;&amp; is_numeric($_GET['id_quest']) )

{

    // On vérifie l'existance de id_quest et on regarde si c'est bien un nombre

    $id_quest = intval($_GET['id_quest']);

    

    $query = 'SELECT * FROM table WHERE id_quest_rep = ' . $id_quest;

    mysql_query($query) or die(mysql_error());

    // ...

}


<hr />Si ma reponse te convient, merci de l'accepter ! 
Messages postés
61
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
9 mai 2010
2
oui, ta réponse me convient sauf que ça maffiche ça

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Program Files\EasyPHP 2.0b1\www\projet\affich_rep.php on line 21

je vois pourtant pas d'où peut venir la faute
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
1
Hum ...

pourrais tu nous donner le code de ton fichier affich_rep.php ?

Normalement l'erreur vient du fait que tu as dû faire une erreur de "ressource" ... càd que tu as dû faire mysql_fetch_array($une_variable_differente_du_mysql_query)

<hr />Si ma reponse te convient, merci de l'accepter ! 
Messages postés
61
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
9 mai 2010
2
c'est pour ça que je ne sais pas d'où peut venir la faute, puisque je n'ai pas deux variables différentes. Enfin l'avis d'un pro est nécéssaire, donc voici mon code :

<?php if( isset($_GET['id_quest']) && is_numeric($_GET['id_quest']) )
{
    // On vérifie l'existance de id_quest et on regarde si c'est bien un nombre
    $id_quest = intval($_GET['id_quest']);
        $query 'SELECT * FROM table WHERE id_quest_rep ' . $id_quest;
    $result = mysql_query($query);

while ($val = mysql_fetch_array($result)) { ?>
<tr><td class="Style3"><?php echo $val["libelle_reponse"];
 ?></td></tr>
<?php }
   
}?>

il est tout à toi !
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
1
Hum ...

Rajoute un 
or die(mysql_error());

après ton mysql_query()

<?php
if( isset($_GET['id_quest']) && is_numeric($_GET['id_quest']) )
{
    // On vérifie l'existance de id_quest et on regarde si c'est bien un nombre
    $id_quest = intval($_GET['id_quest']);
        $query 'SELECT * FROM table WHERE id_quest_rep ' . $id_quest;
    $result = mysql_query($query)
 or die(mysql_error()); 



    while ($val = mysql_fetch_array($result))
    {
       echo '
  <tr>
    <td class="Style3"></td>
  </tr>';
   
}
?>

Là, il te donnera l'erreur exacte ;)

<hr />Si ma reponse te convient, merci de l'accepter ! 
Messages postés
61
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
9 mai 2010
2
Et voila ce que j'ai eu :

Erreur de syntaxe près de 'table WHERE id_quest_rep = 98' à la ligne 1

C'est ma requete qui est fausse ou son execution, parce que je ne suis pas beaucoup aider.
Messages postés
61
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
9 mai 2010
2
euh en fait c'est bon, j'ai oublié que table était une variable, donc un petit $ devant table et le tour est joué
Messages postés
61
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
9 mai 2010
2
voila ce que ça fait de poster a la va vite.



Meme si l'erreur de syntaxe a été réglée, ça me dit quand meme ceci :

La table 'base_faq.$table' n'existe pas

que faire ?
Messages postés
61
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
9 mai 2010
2
oui, ça fonctionne. Merci beaucoup.

Tu auras droit à ta réponse acceptée