Pb de commentaires

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Pb de commentaires

par Danhila » 01 sept. 2005, 17:58

C'st bon raptor je recupère bien l'id de ma question ^^

merci bcp

Maintenant Phase 2 lol

dans une autre page j'affiche toutes les questions posées, mais uniquement la sujet le nom et la date

en cliquant l'une de ces valeurs, la totalité de la question s'affiche

Donc je souhaiterai que la réponse qui va avec s'affiche également

j'utilise ce bout de code pour affiche la page
<?php


include('connection.inc.php');
$query = "SELECT * FROM fiche_progres ORDER BY id DESC";
$result = mysql_query($query);

$nb = mysql_numrows($result);

while ($val = mysql_fetch_array($result))

{ /* On parcoure les résultats de la requête */
	$id = $val["id"];
	$auteur = $val["auteur"];
  	$date = $val["date"];
  	$sujet = $val["sujet"];

  echo "

    <table width='750'  border='0' align='center' cellpadding='0' cellspacing='0'>
      <tr>
        <td width='300' class='texte_gras'>Sujet : <a href='fiche_progres_details.php?id=$id' class='texte_lien'>$sujet</a></td>
        <td width='300' class='texte_gras'>Auteur : <a href='fiche_progres_details.php?id=$id' class='texte_lien'>$auteur</a></td>
		<td class='texte_gras'>$date</td>
	  </tr>
	  <tr>
      </tr>
      <tr>
        <td></td>
      </tr>
      <tr>
        <td colspan='5' height='1' bgcolor='#f9c9c6'></td>
      </tr><br>
    </table>


	";

}

mysql_close();

?>

par Danhila » 01 sept. 2005, 17:39

tu vas me prendre pour un gros boulet.

Pour récapituler :

à la base mes questions (fiche_progres) sont incrementer dans la base $id

ma table reponse_fiche contient
$id_rep (auto)
$nom
$reponse
$id_question

ma page qui reprends la question avec possibilté de répondre
		     <?php


include('connection.inc.php');
$query = "SELECT * FROM fiche_progres WHERE id='".$_GET['id']."'";
$result = mysql_query($query);

$nb = mysql_numrows($result);

while ($val = mysql_fetch_array($result))

{ /* On parcoure les résultats de la requête */

	$id_question = $val["id_quesion"];
	$auteur = $val["auteur"];
  	$date = $val["date"];
	$dys_interne = $val["dys_interne"];
	$dys_externe = $val["dys_externe"];
	$critic = $val["critic"];
	$incident = $val["incident"];
	$solution = $val["solution"];
	$suggestion = $val["suggestion"];
	$description = $val["description"];

  echo "
	
<table width='600'  border='0' align='center' cellpadding='0' cellspacing='0'>
      <tr>
        <td>Auteur : $auteur</td>
        <td>Date : $date</td>
      </tr>
      <tr>
        <td colspan='2'>&nbsp;</td>
      </tr>
      <tr>
        <td colspan='2'>Nature de la Fiche Progr&egrave;s </td>
      </tr>
      <tr>
        <td>Dysfonctionnement interne : $dys_interne</td>
        <td>Dysfonctionnement Externe : $dys_externe</td>
      </tr>
      <tr>
        <td>Incident li&eacute; &agrave; un prestataire : $incident</td>
        <td>Suggestion : $suggestion</td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td></td>
      </tr>
      <tr>
        <td>Criticit&eacute; : $critic</td>
        <td></td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td></td>
      </tr>
      <tr>
        <td>Contenu de la fiche progr&egrave;s </td>
        <td></td>
      </tr>
      <tr>
        <td>Description de la situation : $description</td>
        <td></td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td></td>
      </tr>
      <tr>
        <td>Solution(s) propos&eacute;e(s) $solution</td>
        <td></td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td></td>
      </tr>
      <tr>
        <td colspan='2' height=1 bgcolor='#6699FF'></td>
      </tr>
    </table>

	";

}
mysql_close();
?>

	<form method="post" action="ajout_reponse.php?id=<?php echo $id?>">
	  <p><span class="backoffice">          	
		<br>
		Auteur : <br>
		<select name="nom">
		  <option selected>Votre nom...</option>
		  <option>Herv&eacute; Gicquel</option>
		  <option>Yannis Monnet</option>
		  <option>Vincent Guy</option>
		</select>
		<br>
		<br>
		<br>
		<br>
		R&eacute;ponse :<br>
		<textarea name="reponse"cols="50"rows="5"></textarea>
		<br>
		<br>
		
	  </span></p>
	  <p align="center"><span class="backoffice">
		<input type="submit" value="Valider" name="submit">
		<a href="adm_fiche_progres.php">Annuler</a></span> </p>
	</form>
ma page ajout_reponse.php
<?

include('connection.inc.php');



$query = "INSERT INTO reponse_fiche(nom,reponse,id_question) VALUES ('".$_POST['nom']."','".$_POST['reponse']."','".$_GET['id_question']."')"; 
$result = mysql_query($query) or die ('Erreur SQL !<br>'.mysql_error());

mysql_close();

header('location: adm_fiche_progres.php');
?>

par raptor » 01 sept. 2005, 17:34

alors $id_question=$val["id"];

par Danhila » 01 sept. 2005, 17:32

Dans ma table fiche_progres j'ai un $id (autoincrement)

par raptor » 01 sept. 2005, 17:27

$id_question doit etre l'identifiant de la question dans la table utilisée dans ta premiere page (fiche_progres) mais tun'a pas donné le nom du champs de cette table, donc je ne peux pas t'en dire plus :)

mais en gros il faut que tu ai $id_question=$val["ce_champs"];

par Invité » 01 sept. 2005, 17:26

Code : Tout sélectionner

<form method="post" action="ajout_reponse.php?id=<?php echo $id_question;?>">
je dis ca car $id_question est affiché en noir ...

par Danhila » 01 sept. 2005, 17:23

j'avance un peu

je n'ai plus d'erreur au niveau de la bdd, ca enregistre bien la reponse

mais $id_question reste à 0...

je n'ai un pb pour lerecuperer la

Code : Tout sélectionner

<form method="post" action="ajout_reponse.php?id=<?php echo $id_question;?>">
j'ai bien appliquer tes remarques précedents

par raptor » 01 sept. 2005, 17:11

et bien donc il faut transmettre a ajouter_reponse.php un $id_question d'apres ta derniere requete.

Et cet $id_question, il faut le sortir de la premiere requete dans la page ou il ya la question. Celle ou il y a le formulaire pour repondre.

Exemple :
[...]
$id_question = $val["id_question"];
$auteur = $val["auteur"];
$date = $val["date"];
$dys_interne = $val["dys_interne"];
$dys_externe = $val["dys_externe"]; 
[...]

<form method="post" action="ajout_reponse.php?id_question=<?php echo $id_question;>"> 

[...]

par Invité » 01 sept. 2005, 16:58

$id recupere bien l'id de la question, mais il faut lui affecté. Il va pas tomber du ciel :)

Pour la requete, ne vois tu pas une différence de nombres de champs entre ceux cités et les valeurs qui leur sont affectées ?
j'ai changer mes noms de champ pour etre plus clair

la requete dans ajout_reponse:
$query = "INSERT INTO reponse_fiche(nom,reponse,id_question) VALUES ('".$_POST['nom']."','".$_POST['reponse']."','".$_GET['id_question']."')"; 

Justement je comprends pas comment lui affecter l'id .....

par raptor » 01 sept. 2005, 16:52

$id recupere bien l'id de la question, mais il faut lui affecté. Il va pas tomber du ciel :)

Pour la requete, ne vois tu pas une différence de nombres de champs entre ceux cités et les valeurs qui leur sont affectées ?

par Danhila » 01 sept. 2005, 16:49

$id de ajout reponse n'est pas cénsé recupérér $id de la question justement?

Pour la requete je comprends pas le pb
$query = "INSERT INTO reponse_fiche(nom,reponse,id) VALUES ('','".$_POST['nom']."','".$_POST['reponse']."','".$_GET['id']."')"; 
et je pense avoir un pb de syntaxe dans le formulaire qui enregistre la réponse et $id de la question
        <form method="post" action="ajout_reponse.php?id=<?php echo $id;?>">

par raptor » 01 sept. 2005, 16:45

Le $id que tu transmet a ajout_reponse.php, il correspond a quoi ?

pour les balises, tu selectionnes le code, et tu clique sur le bouton PHP jute la au dessus.

par Invité » 01 sept. 2005, 16:44

ta requete est toujours fausse... je t'ai donné la requete sans faute pourtant.

Et tu ne recupere $id nulle part.
Il faut le recuperer plus haut dans ton script avant de vouloir le passer a une autre page.
Sinon y a rien qui passe.

Et utilise les balises PHP la prochaine fois, car la c'est illisible.
Désolé pour l'affichage j'ai utilser les balises de les forum (ca marche comment au passage :))

Et comment ca je ne recupere pas $id??

par raptor » 01 sept. 2005, 16:42

ta requete est toujours fausse... je t'ai donné la requete sans faute pourtant.

Et tu ne recupere $id nulle part.
Il faut le recuperer plus haut dans ton script avant de vouloir le passer a une autre page.
Sinon y a rien qui passe.

Et utilise les balises PHP la prochaine fois, car la c'est illisible.

par Danhila » 01 sept. 2005, 16:39

Pour reprendre

le code de ma page qui affiche les données et le formulaires pour y répondre

<?php


include('connection.inc.php');
$query = "SELECT * FROM fiche_progres WHERE id='".$_GET['id']."'";
$result = mysql_query($query);

$nb = mysql_numrows($result);

while ($val = mysql_fetch_array($result))

{ /* On parcoure les résultats de la requête */

$auteur = $val["auteur"];
$date = $val["date"];
$dys_interne = $val["dys_interne"];
$dys_externe = $val["dys_externe"];
$critic = $val["critic"];
$incident = $val["incident"];
$solution = $val["solution"];
$suggestion = $val["suggestion"];
$description = $val["description"];


echo "




<table width='600' border='0' align='center' cellpadding='0' cellspacing='0'>
<tr>
<td>Auteur : $auteur</td>
<td>Date : $date</td>
</tr>
<tr>
<td colspan='2'>&nbsp;</td>
</tr>
<tr>
<td colspan='2'>Nature de la Fiche Progr&egrave;s </td>
</tr>
<tr>
<td>Dysfonctionnement interne : $dys_interne</td>
<td>Dysfonctionnement Externe : $dys_externe</td>
</tr>
<tr>
<td>Incident li&eacute; &agrave; un prestataire : $incident</td>
<td>Suggestion : $suggestion</td>
</tr>
<tr>
<td>&nbsp;</td>
<td></td>
</tr>
<tr>
<td>Criticit&eacute; : $critic</td>
<td></td>
</tr>
<tr>
<td>&nbsp;</td>
<td></td>
</tr>
<tr>
<td>Contenu de la fiche progr&egrave;s </td>
<td></td>
</tr>
<tr>
<td>Description de la situation : $description</td>
<td></td>
</tr>
<tr>
<td>&nbsp;</td>
<td></td>
</tr>
<tr>
<td>Solution(s) propos&eacute;e(s) $solution</td>
<td></td>
</tr>
<tr>
<td>&nbsp;</td>
<td></td>
</tr>
<tr>
<td colspan='2' height=1 bgcolor='#6699FF'></td>
</tr>
</table>

";

}




mysql_close();



?>
<form method="post" action="ajout_reponse.php?id=<?php echo $id;?>">
<p><span class="backoffice">
<br>
Auteur : <br>
<select name="nom">
<option selected>Votre nom...</option>
<option>Herv&eacute; Gicquel</option>
<option>Yannis Monnet</option>
<option>Vincent Guy</option>
</select>
<br>
<br>
<br>
<br>
R&eacute;ponse :<br>
<textarea name="reponse"cols="50"rows="5"></textarea>
<br>
<br>

</span></p>
<p align="center"><span class="backoffice">
<input type="submit" value="Valider" name="submit">
<a href="adm_fiche_progres.php">Annuler</a></span> </p>
</form>


Le code de ma page qui va enregistrer la réponse en stockant l'id de la question.

<?

include('connection.inc.php');



$query = "INSERT INTO reponse_fiche(nom,reponse,id) VALUES ('','".$_POST['nom']."','".$_POST['reponse']."','".$_GET['id']."')";
$result = mysql_query($query) or die ('Erreur SQL !<br>'.mysql_error());

mysql_close();

header('location: adm_fiche_progres.php');
?>

Dans ma table reponse_fiche j'ai les champ suivant

id_rep (autoincrement)
nom
reponse
id ( pour la question)

cela est-il correct dans le principe car cela ne marche pas :)