Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Aide pour finalisation de code [ Divers / Débutant(e) ] (wookiee80)

jeudi 12 juin 2008 à 13:55:43 | Aide pour finalisation de code

wookiee80

Bonjour tout le monde.

J'ai besoin d'un peu d'aide pour finaliser ce code dans lequel je patoge un peu

donc voila le principe est:

ce code dois générer une série de question incluant un formulaire pour chacune d'elle différent suivant si la question a déjà ou non été répondu.

donc si ça a été répondu par la réponse pas_acquis:
je redonne la question avec comme possibilité répondre
par en cours d'acquisition ou acquis

si ça a été répondu pas en_cours:
je redonne la question avec pour seule possibilité choisir acquis

et si c acquis j'affiche juste la question.

tout ça je le gère avec une table question dans laquelle j'ai l'ID de la question plus la question en elle même

et une table réponse contenant l'ID réponse, l'ID de la question, le n° de l'agent(retenu dans une session), pas acquis, en cours et acquis.

Pour l'instant le résultat est :

j'obtiens bien la liste de mes questions.
le formulaire qui va avec qui est celui avec les trois choix étant donné que la table réponse est vide.
Par contre rien ne s'enregistre au niveau de la table réponse lorsque j'envoie un choix.

Donc je pense que ça vient du fait que je créé ma variable $ID_question_traitement avant ma fonction mysq_fetch_array.


<?php
$ID_question_traitement = $questions_traitement2['ID_questions_traitement'];
?>



Mais le problème c'est que je ne sais pas du tout comment bouger l'un
ou l'autre étant donné que si je bouge ma variable alors elle ne sera
pas prise en compte au départ. Et si je bouge ma fonction j'avance d'un
cran dans le tableau créé par cette fonction et me retrouve alors
coincé.

Donc voila le code en question:

[code]

if (empty($_SESSION['epicea']))
{
header("location:accueil_questionnaire.php");
}


$epicea = $_SESSION['epicea'] ;



?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>traitement de texte</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta content="wookiee" name="author">
<link rel="stylesheet" media="screen" type="text/css" title="design" href="style/design_learning.css"/>
</head>

<?php

mysql_connect('localhost', 'root', '');
mysql_select_db('e_learning');

?>

<body >

<div id="haut_de_page"></div>



<h2 align="center">Traitement de texte writer</h2><br/>

<div id="corps">

<?php

// ********************************************************
// * *
// * *
// * PRINCIPE POUR LES QUESTIONNAIRES E_LEARNING *
// * *
// * *
// ********************************************************



// Au chargement de la page:
// ________________________
//
//
//
// -Afficher chaque question avec suivant la reponse deja ou non fournie
// un formulaire adequat.
//
//
// faire une boucle pour afficher toutes les questions:(la on va faire pour le traitement de texte writer en exemple)
//
//
// * on va aller chercher toutes les questions avec une requete:



$questions_traitement = "SELECT * FROM questions_traitement" ;
$requete= mysql_query ($questions_traitement)
or die (mysql_error().'\n'.$questions_traitement);// pour avoir mon erreur precisement



$ID_question_traitement = $questions_traitement2['ID_questions_traitement'];




// on créé des variable pour chaque type de reponse potentielle:
// et on va chercher les reponses eventuellement deja enregistrées:



$reponse_traitement_pas_acquis= mysql_query("SELECT pas_acquis FROM reponses_traitement WHERE epicea='".$epicea."' AND ID_questions_traitement='".$ID_question_traitement."'")
or die (mysql_error());

$reponse_traitement_en_cours= mysql_query("SELECT en_cours FROM reponses_traitement WHERE epicea='".$epicea."' AND ID_questions_traitement='".$ID_question_traitement."'")
or die (mysql_error());

$reponse_acquis= mysql_query("SELECT acquis FROM reponses_traitement WHERE epicea='".$epicea."' AND ID_questions_traitement='".$ID_question_traitement."'")
or die (mysql_error());





// Pour chacunes des reponses eventuelles on va regarder si il a deja une entrée dans la table
// si c'est le cas alors c'est que l'agent a deja repondu à cette question.


$reponse_traitement_pas_acquis2 = mysql_num_rows ($reponse_traitement_pas_acquis);



$reponse_traitement_en_cours2 = mysql_num_rows ($reponse_traitement_en_cours);



$reponse_acquis2 = mysql_num_rows ($reponse_acquis);







$choix = $_POST['$ID_questions_traitement'];

if (isset($_POST['$ID_questions_traitement']))
{
if ( $choix == 'pas_acquis')
{
mysql_query ("INSERT INTO reponses_traitement VALUES ('','".$ID_question_traitement."','".$epicea."','1','','')")
or die (mysql_error());

}
if ($choix == 'en_cours')
{
mysql_query ("INSERT INTO reponses_traitement VALUES ('','".$ID_question_traitement."','".$epicea."','','1','')")
or die (mysql_error());

}
if ($choix == 'acquis')
{
mysql_query ("INSERT INTO reponses_traitement VALUES ('','".$ID_question_traitement."','".$epicea."','','','1')")
or die (mysql_error());

}
}









// Voila tout est pret pour faire la boucle et afficher les question:




while ($questions_traitement2= mysql_fetch_array($requete))

{


echo $questions_traitement2['question_traitement'] ;


if($reponse_traitement_pas_acquis2 ==0 AND $reponse_traitement_en_cours2 ==0 AND $reponse_acquis2['question_traitement'] ==0)
{

?>

<form action="traitement_de_texte.php" method="POST">
<input type="radio" name="<?php $ID_questions_traitement ?>" value="pas_acquis" id="pas_acquis"/><label for="pas_acquis">Pas acquis</label>
<input type="radio" name="<?php $ID_questions_traitement ?>" value="en_cours" id="en_cours"/><label for="en_cours">En cours d'acquisition</label>
<input type="radio" name="<?php $ID_questions_traitement ?>" value="acquis" id="acquis"/><label for="acquis">Acquis</label><br/>
<input type="submit" value="valider"/>
</form>
</p>
<?php
}

if($reponse_traitement_pas_acquis2 !=0 AND $reponse_traitement_en_cours2==0 AND $reponse_acquis2['question_traitement']==0)
{

?>

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

<input type="radio" name="<?php $ID_questions_traitement ?>" value="en_cours" id="en_cours"/><label for="en_cours">En cours d'acquisition</label>
<input type="radio" name="<?php $ID_questions_traitement ?>" value="acquis" id="acquis/"><label for="acquis">Acquis</label><br/>
<input type="submit" value="valider"/>
</form>
<?php
}



if($reponse_traitement_pas_acquis2 !=0 AND $reponse_traitement_en_cours2 !=0 AND $reponse_acquis2['question_traitement']==0)
{

?>

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

<input type="radio" name="<?php $ID_questions_traitement ?>" value="acquis" id="acquis"/><label for="acquis">Acquis</label><br/>
<input type="submit" value="valider"/>
</form>
<?php
}



if($reponse_traitement_pas_acquis2 !=0 AND $reponse_traitement_en_cours2 !=0 AND $reponse_acquis2['question_traitement'] !=0)
{
echo 'Validé';

}


}
?>



</div>

</body>
</html>

<?php
mysql_close();
?>
[/code]

merci d'avance

vendredi 13 juin 2008 à 15:50:14 | Re : Aide pour finalisation de code

MasterCent

Réponse acceptée !
Salut wookiee80,


Sans rentrer dans ton code, une ligne attire mon attention :
 				<input type="radio" name="<?php $ID_questions_traitement ?>" value="pas_acquis" id="pas_acquis"/><label for="pas_acquis">Pas acquis</label>

Ne devrais tu pas faire un <?php echo $ID_questions_traitement ?> , as tu testé ta page coté client (code source de la page ) ?


Que vaut $choix, après le code : $choix = $_POST['$ID_questions_traitement'];
Que donne un print_r ($_REQUEST );

Enfin, et que les experts me corrigent, il me semble que : $_POST['$ID_questions_traitement']; devrait s'ecrire $_POST[$ID_questions_traitement]; (sans apostrophe) ou
 				$_POST["$ID_questions_traitement"];  


Voilà pour un début,

m100




vendredi 13 juin 2008 à 18:48:33 | Re : Aide pour finalisation de code

JoJo738

Membre Club
Réponse acceptée !
Bon, petite correction rapide ;)

Code commenté mais NON corrigé ;)

<?php

session_start();

// il faut vérifier l'existance de $_SESSION['epicea'] ... isset()
if (empty($_SESSION['epicea']))
{
    header('location: accueil_questionnaire.php');
}
$epicea = $_SESSION['epicea'];

?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
 <title>traitement de texte</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
 <meta content="wookiee" name="author" />
 <link rel="stylesheet" media="screen" type="text/css" title="design" href="style/design_learning.css" />
</head>
<body>

<?php

// Si il y a une erreur, autant l'affichier dans le corps de la page

// je te conseil de faire un fichier config avec une connexion MySQL (comme ça tu n'as plus besoin de modifier qu'un seul fichier)
mysql_connect('localhost', 'root', '');
mysql_select_db('e_learning');

?>

<div id="haut_de_page"></div>

<h2 align="center">Traitement de texte writer</h2>
<br />

<div id="corps"><?php

//    ********************************************************
//    *                                                *
//    *                                                *
//    *   PRINCIPE POUR LES QUESTIONNAIRES E_LEARNING     *
//    *                                                *
//    *                                                *
//    ********************************************************



//    Au chargement de la page:
//    ________________________
//
//
//
//    -Afficher chaque question avec suivant la reponse deja ou non fournie
//         un formulaire adequat.
//
//
//    faire une boucle pour afficher toutes les questions:(la on va faire pour le traitement de texte writer en exemple)
//
//
//                * on va aller chercher toutes les questions avec une requete:



$questions_traitement =  'SELECT * FROM questions_traitement';
// evite les *, précise les champs
$requete = mysql_query($questions_traitement) or die (mysql_error().'\n'.$questions_traitement);// pour avoir mon erreur precisement

$ID_question_traitement = $questions_traitement2['ID_questions_traitement'];
// -> D'ou vient $questions_traitement2 ???
// ne serait-ce pas $questions_traitement['ID_questions_traitement']
// dans ce cas, tu fais : 'SELECT ID_questions_traitement, mon_champ2, mon_champ3 ...' et pas de 'SELECT * ...'


// on créé des variable pour chaque type de reponse potentielle:
// et on va chercher les reponses eventuellement deja enregistrées:

// j'ai modifié les "/', je préfère les ' (déjà point de vue rapidité ;))
$reponse_traitement_pas_acquis = mysql_query('SELECT pas_acquis FROM reponses_traitement WHERE epicea="'.$epicea.'" AND ID_questions_traitement="'.$ID_question_traitement.'"') or die (mysql_error());

$reponse_traitement_en_cours = mysql_query('SELECT en_cours FROM reponses_traitement WHERE epicea="'.$epicea.'" AND ID_questions_traitement="'.$ID_question_traitement.'"') or die (mysql_error());

$reponse_acquis = mysql_query('SELECT acquis FROM reponses_traitement WHERE epicea="'.$epicea.'" AND ID_questions_traitement="'.$ID_question_traitement.'"') or die (mysql_error());

// Tes trois requetes n'ont aucun sens ainsi séparées ... elles récupères toutes les trois des valeurs différentes, mais avec une même recherche (WHERE), autant en faire une seule. Ou alors tu as oublié un WHERE .... là encore, possibilité de es rasemblées en une seule ;)

// as tu vérifié $epicea et $ID_question_traitement ??
// -> si tu sais que c'est une donnée numérique -> $épicea = intval($epicea);
//    sinon, mysql_escape_string($epicea)
// Idem pour $ID_question_traitement


// Pour chacunes des reponses eventuelles on va regarder si il  a deja une entrée dans la table
//  si c'est le cas alors c'est que l'agent a deja repondu à cette question.


$reponse_traitement_pas_acquis2 = mysql_num_rows ($reponse_traitement_pas_acquis);
$reponse_traitement_en_cours2 = mysql_num_rows ($reponse_traitement_en_cours);
$reponse_acquis2 = mysql_num_rows ($reponse_acquis);
// Hum ... je te conseil $nbre_traitement_pas_acquis, ca evitera te t'embrouillé dans ton code et aidera ceux qui t'aiderons


$choix = $_POST['$ID_questions_traitement'];
// EUH .... $_POST[$ID_questions_traitement]; pultôt, non ?
// Tu ne verifies pas que ta variable existe ???
// -> ISSET() ! (avec gestion des erreurs)

// Avec un peu de recherche, tu peux regrouper toutes tes requetes en une seule
// SELECT COUNT(q1.pas_acquis) as count_pas_aquis, COUNT(q2.en_cours) as count_en_cours FROM reponses_traitement as q1, reponses_traitement as q2 WHERE ...

if (isset($_POST['$ID_questions_traitement']))
{
    if    ( $choix == 'pas_acquis')
    {
        mysql_query ("INSERT INTO reponses_traitement VALUES ('','".$ID_question_traitement."','".$epicea."','1','','')")
        or die (mysql_error());

    }
    if ($choix == 'en_cours')
    {
        mysql_query ("INSERT INTO reponses_traitement VALUES ('','".$ID_question_traitement."','".$epicea."','','1','')")
        or die (mysql_error());

    }
    if ($choix == 'acquis')
    {
        mysql_query ("INSERT INTO reponses_traitement VALUES ('','".$ID_question_traitement."','".$epicea."','','','1')")
        or die (mysql_error());

    }
    // Je te conseilerais un switch peut être ...
    /*
     * switch($choix)
     * {
     *     case 'pas_acquis' :
     *         mysql_query ('INSERT INTO reponses_traitement VALUES ("","'.$ID_question_traitement.'","'.$epicea.'","1","","")') or die (mysql_error());
     *       break;
     *
     *     case 'pas_acquis' :
     *         mysql_query ('INSERT INTO reponses_traitement VALUES ("","'.$ID_question_traitement.'","'.$epicea.'","","1","")') or die (mysql_error());
     *       break;
     *
     *     case 'pas_acquis' :
     *         mysql_query ('INSERT INTO reponses_traitement VALUES ("","'.$ID_question_traitement.'","'.$epicea.'","","","1")') or die (mysql_error());
     *       break;
     *     default :
     *         echo 'Erreur !';
     *       break;
     * }
     */
    // D'ailleurs, si tu n'as que ça comme traitement, tu peux faire un champ $sql = '"", "", ""'; et l'intégré dans une requete plus loin (tu n'aura qu'a modifier ton $sql
    // Et si c'est pas déjà fait plus haut : protège tes variables (une faille est si vite arrivée) !!
}

// Voila tout est pret pour faire la boucle et afficher les questions :

// perso, je prèfere mysql_fetch_assoc ... question de gôut ( $row->id, $row->question_traitement, ...). A toi de voir ;)
while ($questions_traitement2 = mysql_fetch_array($requete))
{

    echo  $questions_traitement2['question_traitement'] ;


    // if( $reponse_traitement_pas_acquis2 + reponse_traitement_en_cours2 + $reponse_acquis2['question_traitement'] == 0 )
    // ;) (faire gaffe aux nombres négatifs, mais pas le cas ici :p
    if($reponse_traitement_pas_acquis2 ==0 AND $reponse_traitement_en_cours2 ==0 AND $reponse_acquis2['question_traitement'] ==0)
    {

        ?>

<form action="traitement_de_texte.php" method="POST">
<p>
<input type="radio" name="<?php echo $ID_questions_traitement; ?>" value="pas_acquis" id="pas_acquis" />
<label for="pas_acquis">Pas acquis</label>
 <input type="radio" name="<?php echo $ID_questions_traitement; ?>" value="en_cours" id="en_cours" />
<label for="en_cours">En cours d'acquisition</label>
<input type="radio" name="<?php echo $ID_questions_traitement; ?>" value="acquis" id="acquis" />
<label for="acquis">Acquis</label>
<br />
<input type="submit" value="valider" />
</form>
</p>
<?php
}

    // if( $reponse_traitement_pas_acquis2 + reponse_traitement_en_cours2 + $reponse_acquis2['question_traitement'] == 0 )
    // ;) (faire gaffe aux nombres négatifs, mais pas le cas ici :p
if($reponse_traitement_pas_acquis2 !=0 AND $reponse_traitement_en_cours2==0 AND $reponse_acquis2['question_traitement']==0)
{

    ?>

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

<input type="radio" name="<?php echo $ID_questions_traitement; ?>" value="en_cours" id="en_cours" />
<label for="en_cours">En cours d'acquisition</label>
<input type="radio" name="<?php echo $ID_questions_traitement; ?>" value="acquis" id="acquis/">
<label for="acquis">Acquis</label>
<br />
<input type="submit" value="valider" />
</form>
    <?php
}


// ...
if($reponse_traitement_pas_acquis2 !=0 AND $reponse_traitement_en_cours2 !=0 AND $reponse_acquis2['question_traitement']==0)
{

    ?>

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

<input type="radio" name="<?php echo $ID_questions_traitement; ?>" value="acquis" id="acquis" />
<label for="acquis">Acquis</label>
<br />
<input type="submit" value="valider" />
</form>
    <?php
}

// ...
// Euh, pourquoi les avoirs séparées ??? Pourtant c'est à chaque fois le même IF, non ? regroupe tout ! (encore le cas en bas)

if($reponse_traitement_pas_acquis2 !=0 AND $reponse_traitement_en_cours2 !=0 AND $reponse_acquis2['question_traitement'] !=0)
{
    echo 'Validé';

}


}
?></div>

</body>
</html>

<?php
mysql_close();
?>


Si ma reponse te convient, merci de l'accepter ! 

lundi 16 juin 2008 à 11:34:48 | Re : Aide pour finalisation de code

wookiee80

bonjour tout le monde.

merci MasterCent :)
en effet deja avec l'echo ça va aller mieux
je l'ai remplacé entre temps car j'avais vu l'erreur entre deux ;)

merci aussi à toi JoJo738
ça m'a debloqué encore un peu dans ce code.
Par contre je ne ferme pas le post car j'en ai pas fini avec ce code.

Donc pour repondre aussi à M100 du coté client si j'affiche le code source de la page j'ai bien pour le name dans mon formulaire à chaque fois l'ID des questions. donc pour ça c'est ok c ce que je voulais avoir.

Mon probleme se pose sur le fzit que je veux comparer l'ID des questions dans la table questions_traitement avec l'ID des questions qui se trouvent dans la table réponse traitement.
A partir de ça si je trouve le meme ID pour le meme n° d'epicea c'est que la question à deja été repondu par l'agent.

Donc je vais devoir afficher de nouveau lma question mais en tenant compte de la reponse deja donnée.
Et c'est la que j'ai du mal.
Comment comparer ces deux ID  POUR l'agent connecté.
Car ça serait sur une question ça irait mais la c bien pour les 31 questions.

Enfin j'ai deja retoucher le code avec tes conseils JoJo738.
J'ai laissé quelques requetes comme je les avait mise car je n'arrivait pas à voir comment faire sans
ainsi que les if pour le formulaire, car ce n'est pas le meme.
A chaque fois il est different.

voila donc je vous remet le code retouché.(à moitié )
en soulignant la requete sur la table reponse_traitement que j'ai faite mais dont je ne me sers pas car c ici que je coince reelement.

[code]

<?php
    session_start();
   
    if (empty($_SESSION['epicea']))// verification d'une existance de session avec l'epicea en varia ble session.
    {
        header("location:accueil_questionnaire.php");
    }   
   
   
    $epicea = $_SESSION['epicea'] ;

////////////////////////////////////
// connection
       
        mysql_connect('localhost', 'root', '');
        mysql_select_db('e_learning');
       


////////////////////////////////////////////////////////////
// traitements

      
       if (isset($_POST[$ID_questions_traitement]))
        {
       
        if    ( $_POST[$ID_questions_traitement] == 'pas_acquis')
            {
                mysql_query ("INSERT INTO reponses_traitement VALUES ('','".$ID_questions_traitement."','".$epicea."','1','','')")
                or die (mysql_error());

            }
        if ($_POST[$ID_questions_traitement] == 'en_cours')
            {
                mysql_query ("INSERT INTO reponses_traitement VALUES ('','".$ID_questions_traitement."','".$epicea."','','1','')")
                or die (mysql_error());

            }   
        if ($_POST[$ID_questions_traitement] == 'acquis')
            {
                mysql_query ("INSERT INTO reponses_traitement VALUES ('','".$ID_questions_traitement."','".$epicea."','','','1')")
                or die (mysql_error());

            }   
        }      
   

   
            // on va chercher toutes les questions avec l'ID de la question dans la table question.
            $q = 'SELECT * FROM questions_traitement';
            $requete= mysql_query ($q)
            or die (mysql_error().'\n'.$requete);// pour avoir mon erreur precisement
           
            // on va chercher l'ID des questions dans la table reponse afin d'avoir toutes les questions posées pour l'agent connecté dans la session
            $r = 'SELECT ID_questions_traitement FROM reponses_traitement WHERE epicea="'.$epicea.'"';
            $requete2 = mysql_query ($r)
            or die (mysql_error().'\n'.$requete2);
           
            $r2 = (mysql_fetch_array ($requete2)); // on construit un tableau pour mettre en ordre les valeurs de la table.      
                   
                   
                   
             // Pour chacunes des reponses eventuelles on va regarder si il  a deja une entrée dans la table
             //  si c'est le cas alors c'est que l'agent a deja repondu à cette question.

                $reponse_traitement_pas_acquis= mysql_query('SELECT pas_acquis FROM reponses_traitement WHERE epicea="'.$epicea.'" AND ID_questions_traitement="'.$ID_questions_traitement.'"')
                or die (mysql_error());


                $reponse_traitement_en_cours= mysql_query('SELECT en_cours FROM reponses_traitement WHERE epicea="'.$epicea.'" AND ID_questions_traitement="'.$ID_questions_traitement.'"')
                or die (mysql_error());


                $reponse_acquis= mysql_query('SELECT acquis FROM reponses_traitement WHERE epicea="'.$epicea.'" AND ID_questions_traitement="'.$ID_questions_traitement.'"')
                or die (mysql_error());


                $nbre_traitement_pas_acquis2 = mysql_num_rows ($reponse_traitement_pas_acquis);

                $nbre_traitement_en_cours2 = mysql_num_rows ($reponse_traitement_en_cours);

                $nbre_acquis2 = mysql_num_rows ($reponse_acquis);       


?>   

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"  >
   <head>
       <title>traitement de texte</title>
       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
       <meta content="wookiee" name="author">
       <link rel="stylesheet" media="screen" type="text/css" title="design" href="style/design_learning.css"/>
    </head>
   

<body >   
   
    <div id="haut_de_page"></div>
   
   
      
       <h2 align="center">Traitement de texte writer</h2><br/>
      
       <div id="corps">
      
<?php

         
                   

                // Voila tout est pret pour faire la boucle et afficher les question:

               
               



                while ($q2= mysql_fetch_array($requete))

                {
               
                    $ID_questions_traitement = $q2['ID_questions_traitement'];
                   
                  

                    if($reponse_traitement_pas_acquis2 ==0 AND $reponse_traitement_en_cours2 ==0)
                    {
                     echo  $q2['question_traitement'] ;
                     ?>
                   
                    <form action="traitement_de_texte.php" method="POST">
                        <input type="radio" name="<?php echo $ID_questions_traitement ?>" value="pas_acquis" id="pas_acquis"/><label for="pas_acquis">Pas acquis</label>
                          <input type="radio" name="<?php echo $ID_questions_traitement ?>" value="en_cours" id="en_cours"/><label for="en_cours">En cours d'acquisition</label>
                          <input type="radio" name="<?php echo $ID_questions_traitement ?>" value="acquis" id="acquis"/><label for="acquis">Acquis</label><br/>
                        <input type="submit" value="valider"/>
                    </form>
                    </p>       
                    <?php
                    }
                   
                    if($reponse_traitement_pas_acquis2 !=0 AND $reponse_traitement_en_cours2==0 AND $reponse_traitement_acquis ==0)
                    {
                        echo  $q2['question_traitement'] ;
                         ?>
                        
                        <form action="traitement_de_texte.php" method="POST">
                       
                            <input type="radio" name="<?php echo $ID_questions_traitement ?>" value="en_cours" id="en_cours"/><label for="en_cours">En cours d'acquisition</label>
                            <input type="radio" name="<?php echo $ID_questions_traitement ?>" value="acquis" id="acquis/"><label for="acquis">Acquis</label><br/>
                            <input type="submit" value="valider"/>
                        </form>
                        <?php
                    }



                    if($reponse_traitement_pas_acquis2 !=0 AND $reponse_traitement_en_cours2 !=0 AND $reponse_traitement_acquis ==0)
                    {
                         echo  $q2['question_traitement'] ;
                        ?>
                   
                        <form action="traitement_de_texte.php" method="POST">
                       
                            <input type="radio" name="<?php echo $ID_questions_traitement ?>" value="acquis" id="acquis"/><label for="acquis">Acquis</label><br/>
                            <input type="submit" value="valider"/>
                        </form>
                        <?php
                    }



                    if($reponse_traitement_pas_acquis2 !=0 AND $reponse_traitement_en_cours2 !=0 AND $reponse_traitement_acquis !=0 )
                    {
                        echo 'Validé';
                       
                    }                   
                   
                   
                }
                ?>

               
      
        </div>   
           
</body>
</html>       

<?php
        mysql_close();
?>

[/code]


lundi 16 juin 2008 à 13:16:41 | Re : Aide pour finalisation de code

MasterCent

Bonjour Wookiee80,

Petite question : Dans ta base de données,
comment (quel type, quelle info) stockes tu les statuts "acquis", "en cours" ... ?
Par exemple le mot ou  un chiffre  1 = en cours, 2 = acquis, ...

..



 

lundi 16 juin 2008 à 13:48:45 | Re : Aide pour finalisation de code

wookiee80

salut MasterCent

Alors dans ma BDD je stocke les reponses dans la table reponses_traitement
j'ai fais tois champs pas_acquis en_cours et acquis à zero par defaut et je stocke la valeur 1 quand ils sont repondus.
voila :)

lundi 16 juin 2008 à 14:39:46 | Re : Aide pour finalisation de code

JoJo738

Membre Club
Réponse acceptée !
Hello,

Euh ... $ID_question_traitement n'est pas défini (partie traitement) ^^

Sinon,
if (!isset($_SESSION['epicea']) || empty($_SESSION['epicea']))
{
    header("location:accueil_questionnaire.php");
}
;)

Ah, et pour tes requetes, après quelques galères j'ai trouvé ça (pas moyens de regroupé les count en utilisant plusieurs tables :s) :
SELECTCOUNT(NULLIF( pas_acquis,0 )) as nbre_pas_acquis,COUNT(NULLIF(en_cours,0)) as nbre_en_cours,COUNT(NULLIF(acquis,0)) as nbre_acquis
FROM`reponses_traitement`



Si ma reponse te convient, merci de l'accepter ! 

lundi 16 juin 2008 à 15:12:04 | Re : Aide pour finalisation de code

wookiee80

oh d'accord je vois
en fait je ne me rendais meme pas compte que point de vue securité c'etait incomplet.



oui voila c bien ça mon probleme
car je ne sais pas comment le definir pendant cette phase.

d'accord oui ok je vois pour les requetes
c'est beaucoup plus soigné et on va dire plus rapide je pense.

et bien merci encore JoJo738
je ne manquerai pas de te tenir au courant quand ça fonctionnera en tout cas
il me manque que cette phase pour comparer les ID des questions posées venant de la table questions_traitement et celui enregistré dans le champ ID_questions_traitement dans la table reponse_traitement.

lundi 16 juin 2008 à 15:22:39 | Re : Aide pour finalisation de code

JoJo738

Membre Club
Réponse acceptée !
Si je regarde ton code, je me pose une question :

$ID_question_traitement ne serait pas un parametre GET ???

Sinon, pour rendre ton script plus simple, je te ceonseil un champ situation, avec comme valeur 0 (pas acquis), 1 (en cours), 2 (acquis). En effet, soit c'est asquis, soit pas soit en cours : donc pas besoin de s'embetter avec trois champs alors qu'un seul suffit (ma requete_count() serait légérement différente, au lieu d'avoir 0 0 0 il y aurait 1 2 3 (NULLIF))


Si ma reponse te convient, merci de l'accepter ! 

lundi 16 juin 2008 à 15:35:23 | Re : Aide pour finalisation de code

wookiee80

ah mais oui bien sur
en GET elle va etre retenue au rechargement de la page et etre donc traitée comme telle :)
mais si je ne m'abuse elle reprend une valeur differente au prochain rechargement de la page ?

encore une fois merci JoJo, pourquoi je ne l'ai pas fait avant.
de une je ne vais pas avoir 3 champs differents et en plus je facilite le traitement car je ne fais qu'une entrée dans la table pour une question donnée.

encore merci je vais essayer ça de suite :)


1 2 3

Cette discussion est classé dans : traitement, question, id, reponse, acquis


Répondre à ce message

Sujets en rapport avec ce message

Trouver tous les chemins possibles [ par lowkey ] Salut !!Je n'arrive pas a trouver le meilleur moyen de trouver tous les chemins question-reponse-question-reponse-....... de ma base de données.Voici Aide sur un sondage en PHP [ par yoh42 ] Bonjour a tous. Je dois faire un sondage avec un seule question et un affichage graphique pour les résultats.Mon probleme est que je dois cliquer 2 fo AIDE pour un SONDAGE en PHP et javascript !! [ par yoh42 ] Bonjour je vais me"jeter par la fenêtre" car cela fait deux trois jours que je cherche une solution à mon problème et même après diverses pistes je n' bouton radio [ par sana83 ] salut, j'ai une page en php qui contient 2 boutons radio (question et reponse), e je veut tester si je clique sur "question" donc sera inclu une autre Recherche par mot-clés [ par balistik35 ] Bonjour,Je cherche à faire une recherche par mot-clés dans ma base de données MySQL mais avec une certaine condition. Je développe un site de question problemme insert into urgent [ par nair17 ] bonjour,voila je dois realiser un site pour une entreprise mais quand je veux ajouter une question il m'envoie "erreur d'écriture" sa fait plusieur he auto increment [ par bob ] Bonjour ! Alors voila, j'ai une question qui va etre surement trés simple pour vousvoila le sql de mla table CREATE TABLE `blogs` ( `id` smallint(6) Question auto_increment (MySQL) [ par ImmortalPC ] Salut, j'ai une table test CREATE TABLE `test` ( `ID` int(11) NOT NULL auto_increment, `Login` text, `MDP` text, `email` text, `QuestionsForm` lo Problème MySql!! [ par jnbrunet ] Bonjour,petit problème, je réalise un petit forum en php qui nous affiche toutes les discutions par les titres, comme le forum de cs, et lorsque l'on Changer l'id de mes enregistrements. [ par rscajeux ] Salut,J'ai une table qui contenait des questions de quizz qui ont été supprimée ! J'utilise une page d'administration afin de pouvoir ajouté une quest


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,577 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.