Php+sql = problème !

Résolu
zoot06 Messages postés 61 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 9 mai 2010 - 10 juin 2008 à 09:54
zoot06 Messages postés 61 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 9 mai 2010 - 12 juin 2008 à 10:24
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

JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
12 juin 2008 à 10:15
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 ! 
3
Vonscott Messages postés 61 Date d'inscription vendredi 6 janvier 2006 Statut Membre Dernière intervention 19 septembre 2011
10 juin 2008 à 10:53
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']
0
zoot06 Messages postés 61 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 9 mai 2010 2
10 juin 2008 à 11:05
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 ...
0
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
11 juin 2008 à 16:48
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 ! 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
zoot06 Messages postés 61 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 9 mai 2010 2
11 juin 2008 à 17:19
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
0
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
11 juin 2008 à 17:27
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 ! 
0
zoot06 Messages postés 61 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 9 mai 2010 2
11 juin 2008 à 17:31
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 !
0
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
11 juin 2008 à 17:41
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 ! 
0
zoot06 Messages postés 61 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 9 mai 2010 2
12 juin 2008 à 09:23
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.
0
zoot06 Messages postés 61 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 9 mai 2010 2
12 juin 2008 à 09:38
euh en fait c'est bon, j'ai oublié que table était une variable, donc un petit $ devant table et le tour est joué
0
zoot06 Messages postés 61 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 9 mai 2010 2
12 juin 2008 à 09:47
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 ?
0
zoot06 Messages postés 61 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 9 mai 2010 2
12 juin 2008 à 10:24
oui, ça fonctionne. Merci beaucoup.

Tu auras droit à ta réponse acceptée
0
Rejoignez-nous