Forums Développement Multimédia

Aller au contenu

besoin de récuperer plusieurs valeur dans un select

php sql CODE PHP MySQL

13 réponses à ce sujet

#1 gzbass

    Ceinture Jaune

  • Members
  • PipPip
  • 27 messages

Posté 12 March 2013 - 14:40 PM

Bonjour tout le monde !

J'ai un souci, je souhaite récuperer les valeurs name de plusieurs questions que j'affiche dans un select.
car je souhaite pouvoir créer mon qcm en sélectionnant les questions que je veux dans ma table question.

une fois récuperer j'envoie la liste des questions choisi, le nomdu qcm et la date de publication.
J'ai donc besoin de récuperer toutes ses valeurs pour envoyer le tout par POST au script qui inscrira les données dans la table concernée.

voici mon script mais je peux sélectionner qu'une question ce qui pose problème.

Si vosu pouvez m'aider svp ce serait super sympa .
Je vous remercie par avance
Bonne journée!



<html>
<form action="./" method="POST">
<p>Choisissez le thème en rapport avec le qcm</p>
<?php
$base = mysql_connect("localhost", "root", "")
    or die("Impossible de se connecter : " . mysql_error());

$db_selected = mysql_select_db('qcm3', $base)
    or die('Impossible de sélectionner la base de données : ' . mysql_error());
///////////////////////////////////////////////////////  
echo"<select name='id_question' id='id_question' size='1'>";
$result1 = mysql_query("SELECT * FROM question");      
    while($row = mysql_fetch_array($result1))
{
            $id_question = $row['id_question'];
  $nom_question = $row['nom_question'];
           echo "<option value='".$id_question."'>$nom_question</option>";
    }
echo "</select>";
/*script qui affiche les question*/
?>
<p>Entrer un nom pour le qcm</p>
<input type="text" name="qcm">
</input>
<p>Entrer une date</p>
<input type="text" name="date">
</input>
<br><br>
<input border=0 src="images/ok.png" width="103" height="103" type="image" value="submit" style="margin-left:118px;" />
<br>
</form>
</html>
 


#2 dcz.switcher

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 2533 messages

Posté 13 March 2013 - 10:11 AM

Salut,

Si j'ai bien compris, tu souhaites que l'utilisateur puisse sélectionner plusieurs options dans la liste du SELECT.

Une solution serait d'ajouter l'attribut "multiple" au tag SELECT, tu donneras ainsi la possibilité de maintenir la touche Ctrl (ou cmd) pour sélectionner plusieurs lignes, comme dans un explorateur de fichier.


echo"<select name='id_question' id='id_question' size='1' multiple>";
 

Cependant, si tu ne connais pas le profil de l'utilisateur de ton appli, il est peut-être préférable de remplacer ta liste (select) par un liste de cases à cocher.

<ul>
  <li>
   <input type="checkbox" name="cb" value="1"> opt1
  </li>
  <li>
   <input type="checkbox" name="cb" value="2"> opt2
  </li>
</ul>
 

"Ce que l'on conçoit bien s'énonce clairement et les mots pour le dire arrivent aisément"

embryon de site

#3 gzbass

    Ceinture Jaune

  • Members
  • PipPip
  • 27 messages

Posté 13 March 2013 - 10:27 AM

Salut,

Super merci pour ton aide, du coup j'ai fais ce code avec ce que tu m'a montré la dernière fois.
Mais comment faire pour récuper les id et nom des questions selectionner dans ma liste ?
car j'ai besoin d'envoyer les questions selectionner dans une table sql.

Je te remercie par avance
A bientôt


<html>
<form action="./commun/publicationduqcm.php" method="POST">
<p>Nom de l'enseignant</p>
<?php
/*connexion au serveur et à la base de données*/
$base = mysql_connect("localhost", "root", "")
or die("Impossible de se connecter : " . mysql_error());

$db_selected = mysql_select_db('
qcm3', $base)
or die('
Impossible de sélectionner la base de données : ' . mysql_error());
?>
<?php
/*script qui sélectionne le nom des profs en fonction du statut*/
echo"<select name='
id_personne' id='id_personne' size'1'>";

$id_statut=1;
$result1 = mysql_query("SELECT * FROM personne where id_statut=$id_statut");
while($row = mysql_fetch_array($result1))
{
$id_personne = $row['
id_personne'];
$nom_personne = $row['
nom_personne'];
echo "<option value='
".$id_personne."'>$nom_personne</option>";

}
echo "</select>";
?>
<p>Choisissez les questions en rapport avec le qcm</p>

<?php $result1 = mysql_query("SELECT * FROM question");?>
<?php echo"<select name='
id_question' id='id_question' size='15' multiple>";?> [b]/*partie pour selection multiple*/[/b]
<?php while($row = mysql_fetch_array($result1))<img src='
http://forums.mediabox.fr/public/style_emoticons/<#EMO_DIR#>/icon_confused.gif' class='bbc_emoticon' alt=':?' />>
<option value="<?php echo $row['id_question'].'|'.$row['nom_question']; ?>"><?php echo $row['nom_question']; ?></option>";
<?php endwhile; ?>
<!--script qui affiche les question*/-->
<p>Entrer un nom pour le qcm</p>
<input type="
text" name="qcm">
</input>
<p>Entrer une date</p>
<input type="
text" name="date">
</input>
<br><br>
<input border=0 src="
images/ok.png" width="103" height="103" type="image" value="submit" style="margin-left:118px;" />
<br>
</form>
</html>


Le second script qui récupère les données.


<?php
$base = mysql_connect("localhost", "root", "") or die("Impossible de se connecter : " . mysql_error());
$db_selected = mysql_select_db('qcm3', $base) or die('Impossible de sélectionner la base de données : ' . mysql_error());

$postData = explode( '|', $_POST['id_question'] );
$id_question = $postData[0];
$nom_question = $postData[1];

$id_personne = $_POST['id_personne'];
$qcm = $_POST['qcm'];
$date = $_POST['date'];

mysql_query("INSERT INTO qcme (id_personne, nom_qcm, date, nom_question, id_question) VALUES ('$id_personne','$qcm','$date','$nom_question','$id_question')");

header ("Location:../publierqcm.php");
?>
 


#4 dcz.switcher

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 2533 messages

Posté 13 March 2013 - 10:49 AM

Pour savoir ce que tu récupères dans ton script de récupération des données, tu peux simplement faire ça :


<pre>
<?php
var_dump( $_POST ) ;
?>
</pre>

<?php exit( ) ; ?>

//... ton code ici
 

tu auras ainsi accès à l'ensemble des données mise en forme (tag PRE) envoyées par ton formulaire au script PHP

note : il faut mettre ce script en remplacement de ton code ou au tout début et ajouter un exit( ); pour ne pas exécuter ton code ensuite.

edit : ajout de l'instruction exit( ) ;
"Ce que l'on conçoit bien s'énonce clairement et les mots pour le dire arrivent aisément"

embryon de site

#5 gzbass

    Ceinture Jaune

  • Members
  • PipPip
  • 27 messages

Posté 13 March 2013 - 11:03 AM

merci voilà ce que j'ai fais, est-ce que c'est bon stp ?

merci



<pre>
<?php
var_dump( $_POST ) ;
?>
</pre>
<?php exit( ) ; ?>
<?php
$base = mysql_connect("localhost", "root", "") or die("Impossible de se connecter : " . mysql_error());
$db_selected = mysql_select_db('qcm3', $base) or die('Impossible de sélectionner la base de données : ' . mysql_error());

$postData = explode( '|', $_POST['id_question'] );
    $id_question = $postData[0];
    $nom_question = $postData[1];

$id_personne = $_POST['id_personne'];
$qcm = $_POST['qcm'];
$date = $_POST['date'];

mysql_query("INSERT INTO qcme (id_personne, nom_qcm, date, nom_question, id_question) VALUES ('$id_personne','$qcm','$date','$nom_question','$id_question')");
 
header ("Location:../publierqcm.php");
?>
 


#6 gzbass

    Ceinture Jaune

  • Members
  • PipPip
  • 27 messages

Posté 13 March 2013 - 11:13 AM

en envoyant le formulaire et en sélectionnant 3 questions quand j'envoie et bien j'ai une page blanche qui m'affiche ceci:

On peut voir qu'il y a qu'une seule question de sélectionner et pas plusieurs, je ne sais pas comment faire .....si tu as une idée stp ?
merci

array(6) {
  ["id_personne"]=>
  string(1) "2"
  ["id_question"]=>
  string(8) "27|heure"
  ["qcm"]=>
  string(5) "test3"
  ["date"]=>
  string(10) "2013-03-20"
  ["x"]=>
  string(2) "60"
  ["y"]=>
  string(2) "58"
}
 


#7 dcz.switcher

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 2533 messages

Posté 13 March 2013 - 11:56 AM

Peut-être avec des crochets en fin du nom du select ?


<?php echo"<select name='id_question[]' id='id_question' size='15' multiple>";?>
 

edit : exemple

<body>
  <form action="traitement.php" method="post">
   <select name="options[]" multiple>
    <option value="opt1">option 1</option>
    <option value="opt2">option 2</option>
   </select>
   <input type="submit" value="envoyer">
  </form>
</body>
 

on obtient

array(1) {
  ["options"]=>
  array(2) {
    [0]=>
    string(4) "opt1"
    [1]=>
    string(4) "opt2"
  }
}
 

"Ce que l'on conçoit bien s'énonce clairement et les mots pour le dire arrivent aisément"

embryon de site

#8 gzbass

    Ceinture Jaune

  • Members
  • PipPip
  • 27 messages

Posté 13 March 2013 - 12:07 PM

Merci pour ta réponse

j'ai donc éssayé avec les crochets.

Je n'arrive pas à voir ce que c'est ?

merci de prendre de ton temps pour m'aider c'est super sympa !

voici mes deux codes:


<html>
<form action="./commun/publicationduqcm.php" method="POST">
<p>Nom de l'enseignant</p>
<?php
/*connexion au serveur et à la base de données*/
$base = mysql_connect("localhost", "root", "")
    or die("Impossible de se connecter : " . mysql_error());

$db_selected = mysql_select_db('
qcm3', $base)
    or die('
Impossible de sélectionner la base de données : ' . mysql_error());
?>
<?php
/*script qui sélectionne le nom des profs en fonction du statut*/
echo"<select name='
id_personne[]' id='id_personne' size'1'>";

$id_statut=1;
$result1 = mysql_query("SELECT * FROM personne where id_statut=$id_statut");   
    while($row = mysql_fetch_array($result1))
{
            $id_personne = $row['
id_personne'];
  $nom_personne = $row['
nom_personne'];
           echo "<option value='
".$id_personne."'>$nom_personne</option>";
 
}
echo "</select>";
?>
<!--//////////////////////////////-->
<br><br>
<!--script qui affiche les question*/-->
<p>Choisissez les questions à inclure dans le qcm</p>
<?php $result1 = mysql_query("SELECT * FROM question");?>
<?php echo"<select name='
id_question'  id='id_question' size='15' multiple>";?>
<?php  while($row = mysql_fetch_array($result1))<img src='
http://forums.mediabox.fr/public/style_emoticons/<#EMO_DIR#>/icon_confused.gif' class='bbc_emoticon' alt=':?' />>
<option value="<?php echo $row['id_question'].'|'.$row['nom_question']; ?>"><?php echo $row['nom_question']; ?></option>";
<?php endwhile; ?>
<!--//////////////////////////////-->
<br>
<p>Entrer un nom pour le qcm</p>
<input type="
text" name="qcm">
</input>
<br><br>
<p>Entrer une date</p>
<input type="
text" name="date">
</input>
<!--//////////////////////////////-->
<br><br>
<input border=0 src="
images/ok.png" width="103" height="103" type="image" value="submit" style="margin-left:118px;" />
</form>
</html>

script de traitements des informations envoyé par le formulaire:


<pre>
<?php
var_dump( $_POST ) ;
?>
</pre>
<?php exit( ) ; ?>
<?php
$base = mysql_connect("localhost", "root", "") or die("Impossible de se connecter : " . mysql_error());
$db_selected = mysql_select_db('qcm3', $base) or die('Impossible de sélectionner la base de données : ' . mysql_error());
 
$postData = explode( '|', $_POST['id_question'] );
    $id_question = $postData[0];
    $nom_question = $postData[1];

$postData2 = explode( '|', $_POST['id_personne'] );
    $id_personne = $postData[0];
    $nom_personne = $postData[1];

$qcm = $_POST['qcm'];
$date = $_POST['date'];

mysql_query("INSERT INTO qcme (id_personne, nom_personne, nom_qcm, date, nom_question, id_question) VALUES ('$id_personne','$nom_personne','$qcm','$date','$nom_question','$id_question')");
 
header ("Location:../publierqcm.php");
?>
 


j'obtiens une page blanche avec ceci, quand j'envoie le formulaire je précise que je sélectionne plusieurs question dans mon select avec la touche ctrl


array(6) {
  ["id_personne"]=>
  array(1) {
    [0]=>
    string(1) "2"
  }
  ["id_question"]=>
  string(9) "20|Epinal"
  ["qcm"]=>
  string(4) "test"
  ["date"]=>
  string(10) "2013-03-12"
  ["x"]=>
  string(2) "73"
  ["y"]=>
  string(2) "43"
}
 


#9 dcz.switcher

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 2533 messages

Posté 13 March 2013 - 16:05 PM

Tu as mis les crochets dans le select des "noms de profs" et non des questions

Il faut modifier le select suivant :

<?php echo"<select name='id_question[]'  id='id_question' size='15' multiple>";?>
 

Au passage, tu remarques en sortie que la donnée pour id_personne est un tableau, c'est la conséquence de l'ajout des crochets
"Ce que l'on conçoit bien s'énonce clairement et les mots pour le dire arrivent aisément"

embryon de site

#10 gzbass

    Ceinture Jaune

  • Members
  • PipPip
  • 27 messages

Posté 13 March 2013 - 17:56 PM

Super merci , je suis encore la dessus depuis ce matin .

Du coup il me selectionne bien les deux questions que j'ai selectionné avec la touche ctrl.

heureusement que tu m'aide car c'est une évaluation à rendre vendredi et si j'arrive au moin à inscrire ces données dans la table qcme pour le reste j'arriverai enfin je pense à me débrouiller mais sans ça je ne peux pas avancer et je risque de me tapper une bulle et je n'aurais pas mon module.

Cette table qcme est une table qui va me servir à afficher le qcm de l'élève dans son espace lorsque qu'il se connectera sur le site avec ses identifiants mais je ne suis pas encore là....

enfin voilà si tu avais encore quelques instant à m'accorder stp ....

je te remercie

voici le message que j'obtiens maintenant


array(6) {
  ["id_personne"]=>
  array(1) {
        [0]=>
        string(1) "2"
  }
  ["id_question"]=>
  array(2) {
        [0]=>
        string(44) "19|Quelle est le chef lieu du département ?"
        [1]=>
        string(9) "20|Epinal"
  }
  ["qcm"]=>
  string(4) "test"
  ["date"]=>
  string(10) "2013-02-15"
  ["x"]=>
  string(2) "47"
  ["y"]=>
  string(2) "64"
}
 

voici mon premier script qui me permet de selectionner le nom du prof qui publie le qcm, je peux entrée une date, un nom de qcm et choisir plusieurs questions.


<html>
<form action="./commun/publicationduqcm.php" method="POST">
<p>Nom de l'enseignant</p>
<?php
/*connexion au serveur et à la base de données*/
$base = mysql_connect("localhost", "root", "")
        or die("Impossible de se connecter : " . mysql_error());
$db_selected = mysql_select_db('
qcm3', $base)
        or die('
Impossible de sélectionner la base de données : ' . mysql_error());
?>
<?php
/*script qui sélectionne le nom des profs en fonction du statut*/
echo"<select name='
id_personne' id='id_personne' size'1'>";
$id_statut=1;
$result1 = mysql_query("SELECT * FROM personne where id_statut=$id_statut");  
        while($row = mysql_fetch_array($result1))
{
                $id_personne = $row['
id_personne'];
  $nom_personne = $row['
nom_personne'];
           echo "<option value='
".$id_personne."'>$nom_personne</option>";
}
echo "</select>";
?>
<!--//////////////////////////////-->
<br><br>
<!--script qui affiche les question*/-->
<?php $result1 = mysql_query("SELECT * FROM question");?>
<?php echo"<select name='
id_question[]' id='id_question' size='15' multiple>";?>
<?php  while($row = mysql_fetch_array($result1)): ?>
<option value="<?php echo $row['
id_question'].'|'.$row['nom_question']; ?>"><?php echo $row['nom_question']; ?></option>";
<?php endwhile; ?>
</select>
<!--//////////////////////////////-->
<br>
<p>Entrer un nom pour le qcm</p>
<input type="text" name="qcm">
</input>
<br><br>
<p>Entrer une date</p>
<input type="text" name="date">
</input>
<!--//////////////////////////////-->
<br><br>
<input border=0 src="images/ok.png" width="103" height="103" type="image" value="submit" style="margin-left:118px;" />
</form>
</html>

le second script qui reçois les données


<pre>
<?php
var_dump( $_POST ) ;
?>
</pre>
<?php exit( ) ; ?>
<?php
$base = mysql_connect("localhost", "root", "") or die("Impossible de se connecter : " . mysql_error());
$db_selected = mysql_select_db('qcm3', $base) or die('Impossible de sélectionner la base de données : ' . mysql_error());

$postData = explode( '|', $_POST['id_question'] );
        $id_question = $postData[0];
        $nom_question = $postData[1];
$postData2 = explode( '|', $_POST['id_personne'] );
        $id_personne = $postData[0];
        $nom_personne = $postData[1];

        $id_personne = $post['id_personne'];
$qcm = $_POST['qcm'];
$date = $_POST['date'];

mysql_query("INSERT INTO qcme (id_personne, nom_personne, nom_qcm, date, nom_question, id_question) VALUES ('$id_personne','$nom_personne','$qcm','$date','$nom_question','$id_question')");

header ("Location:../publierqcm.php");
?>
 


Ce que je souhaite maintenant faire c'est de récuperer toutes ces données et de les mettres dans ma table qcme .

ma table est composé comme ceci:

http://hpics.li/b34561e

la vue relationnelle avec les liaisons étrangères

http://hpics.li/61dd9e3

#11 gzbass

    Ceinture Jaune

  • Members
  • PipPip
  • 27 messages

Posté 13 March 2013 - 18:09 PM

donc pour récapituler:
j'ai besoin de récuperer toutes les qeustions que je sélectionne donc je sais pas si je suis limité ????
l'id_personne, le nom_personne, nom_qcm, date,nom_question,id_question

car ça ira dans la table qcme

Je continuer de chercher ....j'espère que pourra m'éclairer
merci

#12 gzbass

    Ceinture Jaune

  • Members
  • PipPip
  • 27 messages

Posté 13 March 2013 - 19:18 PM

Bon maintenant j'arrive à récuperer le nom_personne et son id_personne.
le problème est que rien ne s'affiche dans ma table qcme.

j'aurais besoin qu'il y ait plusieurs questions qui viennent s'inscrire dans la table mais tout en ayant le même nom qcm, le même id personne, nom_personne date ....

Aurais tu une idée du problème stp ?
merci
voici mon formulaire


<html>
<form action="./commun/publicationduqcm.php" method="POST">
<p>Nom de l'enseignant</p>
<?php
/*connexion au serveur et à la base de données*/
$base = mysql_connect("localhost", "root", "")
    or die("Impossible de se connecter : " . mysql_error());
$db_selected = mysql_select_db('
qcm3', $base)
    or die('
Impossible de sélectionner la base de données : ' . mysql_error());
?>
<?php $id_statut=1; ?>
<?php $result1 = mysql_query("SELECT * FROM personne where id_statut=$id_statut");?>
<?php echo"<select name='
id_personne[]' id='id_personne' size='1' >";?>
<?php  while($row = mysql_fetch_array($result1)): ?>
<option value="<?php echo $row['
id_personne'].'|'.$row['nom_personne']; ?>"><?php echo $row['nom_personne']; ?></option>";
<?php endwhile; ?>
</select>
<!--//////////////////////////////-->
<br><br>
<!--script qui affiche les question*/-->
<?php $result1 = mysql_query("SELECT * FROM question");?>
<?php echo"<select name='
id_question[]' id='id_question' size='15' multiple>";?>
<?php  while($row = mysql_fetch_array($result1)): ?>
<option value="<?php echo $row['
id_question'].'|'.$row['nom_question']; ?>"><?php echo $row['nom_question']; ?></option>";
<?php endwhile; ?>
</select>
<!--//////////////////////////////-->
<br>
<p>Entrer un nom pour le qcm</p>
<input type="text" name="qcm">
</input>
<br><br>
<p>Entrer la date limite de publication au format 0000-00-00</p>
<input type="text" name="date">
</input>
<!--//////////////////////////////-->
<br><br>
<input border=0 src="images/ok.png" width="103" height="103" type="image" value="submit" style="margin-left:118px;" />
</form>
</html>

Le script de traitement


<?php
$base = mysql_connect("localhost", "root", "") or die("Impossible de se connecter : " . mysql_error());
$db_selected = mysql_select_db('qcm3', $base) or die('Impossible de sélectionner la base de données : ' . mysql_error());
 
$postData = explode( '|', $_POST['id_question'] );
    $id_question = $postData[0];
    $nom_question = $postData[1];
$postData = explode( '|', $_POST['id_personne'] );
    $id_personne = $postData[0];
    $nom_personne = $postData[1];
    /*$id_personne = $post['id_personne'];
    $nom_personne = $post['nom_personne']; */


    $id_personne = $post['id_personne'];
$qcm = $_POST['qcm'];
$date = $_POST['date'];

mysql_query("INSERT INTO qcme (id_personne, nom_personne, nom_qcm, date, nom_question, id_question) VALUES ('$id_personne','$nom_personne','$qcm','$date','$nom_question','$id_question')");

header ("Location:../publierqcm.php");
?>
 


#13 gzbass

    Ceinture Jaune

  • Members
  • PipPip
  • 27 messages

Posté 14 March 2013 - 19:05 PM

Bonjour, tout le monde.

Je récupère bien les données de mon select mulitple, du select simple et les autres données input.

maintenant j'aimerais vers une boucle qui va remplir ma table en fonction du nombre de questions que j'aurais selectionner dans me select multiple mais je ne sais pas le faire je n'ais pas appris...
Je fais donc appel à vos connaissances svp ?

voici mon script formulaire avec les select et input.


<html>
<form action="./commun/publicationduqcm.php" method="POST">
<p>Nom de l'enseignant</p>
<?php
/*connexion au serveur et à la base de données*/
$base = mysql_connect("localhost", "root", "")
        or die("Impossible de se connecter : " . mysql_error());
$db_selected = mysql_select_db('
qcm3', $base)
        or die('
Impossible de sélectionner la base de données : ' . mysql_error());
/*script qui affiche les personnes en fonction du statut*/
?>
<?php $id_statut=1; ?>
<?php $result1 = mysql_query("SELECT * FROM personne where id_statut=$id_statut");?>
<?php echo"<select name='
id_personne' id='id_personne' size='1'>";?>
<?php  while($row = mysql_fetch_array($result1)): ?>
<option value="<?php echo $row['
id_personne'].'|'.$row['nom_personne']; ?>"><?php echo $row['nom_personne']; ?></option>";
<?php endwhile; ?>
</select>
<!--//////////////////////////////-->
<br><br>
<!--script qui affiche les question*/-->
<?php $result1 = mysql_query("SELECT * FROM question");?>
<?php echo"<select name='
id_question[]' id='id_question' size='15' multiple>";?>
<?php  while($row = mysql_fetch_array($result1)): ?>
<option value="<?php echo $row['
id_question'].'|'.$row['nom_question']; ?>"><?php echo $row['nom_question']; ?></option>";
<?php endwhile; ?>
</select>
<!--//////////////////////////////-->
<br>
<p>Entrer un nom pour le qcm</p>
<input type="text" name="nom_qcm">
</input>
<br><br>
<p>Entrer la date limite de publication au format 0000-00-00</p>
<input type="text" name="date">
</input>
<!--//////////////////////////////-->
<br><br>
<input border=0 src="images/ok.png" width="103" height="103" type="image" value="submit" style="margin-left:118px;" />
</form>
</html>

voici la requette sql qui est dans mon script de traitement mais il me faut la boucle qui récupère toutes les questions pour faire la requette

mysql_query("INSERT INTO qcme (id_personne, nom_personne, nom_qcm, date, nom_question, id_question) VALUES ('$id_personne','$nom_personne','$nom_qcm','$date','$nom_question','$id_question')");
 

grâce au code var dump($_POST); de dczswitcher que je met avant mon scirpt dans le script de traitement et bien j'ai cette page blanche qui me montre que toutes les informations sont envoyées au script


array(6) {
  ["id_personne"]=>
  string(7) "2|herve"
  ["id_question"]=>
  array(2) {
        [0]=>
        string(9) "20|Epinal"
        [1]=>
        string(10) "31|samsung"
  }
  ["nom_qcm"]=>
  string(7) "fsdfdfd"
  ["date"]=>
  string(10) "2003-02-12"
  ["x"]=>
  string(2) "82"
  ["y"]=>
  string(2) "48"
}
 

le script de traitement au complet


<pre>
<?php
var_dump( $_POST ) ;
?>
</pre>
<?php exit( ) ; ?>

<?php
$base = mysql_connect("localhost", "root", "") or die("Impossible de se connecter : " . mysql_error());
$db_selected = mysql_select_db('qcm3', $base) or die('Impossible de sélectionner la base de données : ' . mysql_error());

$postData = explode( '|', $_POST['id_question'] );
        $id_question = $postData[0];
        $nom_question = $postData[1];
$postData = explode( '|', $_POST['id_personne'] );
        $id_personne = $postData[0];
        $nom_personne = $postData[1];

$nom_qcm = $_POST['nom_qcm'];
$date = $_POST['date'];
mysql_query("INSERT INTO qcme (id_personne, nom_personne, nom_qcm, date, nom_question, id_question) VALUES ('$id_personne','$nom_personne','$nom_qcm','$date','$nom_question','$id_question')");
header ("Location:../publierqcm.php");
?>
 

biensur il me faut enlever le code si je veux que mes questions s'inscrivent dans la table sql

<pre>
<?php
var_dump( $_POST ) ;
?>
</pre>
<?php exit( ) ; ?>
 

pour executer la requette et mettre les infos dans la table mais je n'est à chaque fois qu'une question qui rentre, j'aimerais donc faire une boucle qui récupère l'ensemble des informations et qui entre toutes les questions choisis dans le select multiple.
pour les autres données il iront aussi avec les nom de questions choisis.

Auriez-vous une idée svp ?
J'aimerais pouvoir avancer encore ce soir pour éviter d'avoir une mauvaise note demain :cry:
Je vous remercie par avance

#14 dcz.switcher

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 2533 messages

Posté 15 March 2013 - 17:15 PM

Salut,

Citation

j'aimerais vers une boucle qui va remplir ma table en fonction du nombre de questions que j'aurais selectionner dans me select multiple mais je ne sais pas le faire je n'ais pas appris...

Citation

pour éviter d'avoir une mauvaise note demain


Comment tu pourrais avoir une mauvaise note sachant que tu n'as pas appris les boucles ?
D'autant que les boucles sont la base de la base de la programmation.

Tu as plusieurs manière de parcourir les données envoyées, tu peux par exemple utiliser le foreach( )
http://www.php.net/m...res.foreach.php

A chaque boucle, tu enregistres les données dans ta base

Et pour être sûr que tout ce passe bien, tu peux utiliser les transactions
http://php.net/manua...transaction.php

Bonne lecture et bon dev
"Ce que l'on conçoit bien s'énonce clairement et les mots pour le dire arrivent aisément"

embryon de site



1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)