Button suivant
debutantephp
Messages postés
13
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
comment faire le code du button suivant dans un systeme de pagination de formulaire dynamique avec nesecité de varible de session pour sauvgarde les valeur de page en page de la systeme de pagination
Merci
a++
comment faire le code du button suivant dans un systeme de pagination de formulaire dynamique avec nesecité de varible de session pour sauvgarde les valeur de page en page de la systeme de pagination
Merci
a++
4 réponses
Bonjour,
Vous n'êtes pas obligé de passer par une session.
Vous faites un formulaire contenu dans plusieurs div
la première est visite, les autres sont cachées.
Quand vous cliquez sur le bouton suivant, vous cachez celle où vous êtes et affichez la suivante.
Sinon avec une session et bien vous faites autant de formulaires que de pages, le bouton suivant fait un submit vers le formulaire suivant, vous stoquez les variables postées dans la session à chaque page
genre $_SESSION['_post_NOM'] = $_POST['NOM'];
et vous avancez jusqu'à la fin du formulaire ou là vous finissez par traiter tous les champs de la session commençant par '_post_'
Cordialement
Vous n'êtes pas obligé de passer par une session.
Vous faites un formulaire contenu dans plusieurs div
la première est visite, les autres sont cachées.
Quand vous cliquez sur le bouton suivant, vous cachez celle où vous êtes et affichez la suivante.
Sinon avec une session et bien vous faites autant de formulaires que de pages, le bouton suivant fait un submit vers le formulaire suivant, vous stoquez les variables postées dans la session à chaque page
genre $_SESSION['_post_NOM'] = $_POST['NOM'];
et vous avancez jusqu'à la fin du formulaire ou là vous finissez par traiter tous les champs de la session commençant par '_post_'
Cordialement
slaut
oui j'utilise les sessions pour cela je recupere mes varibles avec un tableau
ensuite mon code html
et je récupère mon formulaire dans la base de donné avec 7question dans la page
oui j'utilise les sessions pour cela je recupere mes varibles avec un tableau
<?php session_start(); $nb_questions[0]=""; for($i=1;$i<=$nb_questions[0];$i++){ if(isset($_POST['question' . $i]) ) { $_SESSION['question' . $i]= $_POST['question' . $i]; echo $_SESSION['question' . $i]; } } ?>
ensuite mon code html
et je récupère mon formulaire dans la base de donné avec 7question dans la page
if( isset($_GET['page']) && is_numeric($_GET['page']) ) $page = $_GET['page']; else $page = 1; // Nombre d'info par page $pagination = 7; // Numéro du 1er enregistrement à lire $limit_start = ($page - 1) * $pagination; // Préparation de la requête $sql = "SELECT * FROM question WHERE id_categorie='1' LIMIT $limit_start, $pagination"; // Requête SQL $resultat = mysql_query($sql); // Traitement et affichage des données while ( $donnee = mysql_fetch_assoc($resultat) ) { echo"<div id='question73'>"; echo"<table width='75%' align='center' border='1' style='border-collapse: collapse' bordercolor='#0099CC' bgcolor='white'>"; echo"<tr>"; echo"<td align='center'>"; echo"<table width='100%' cellspacing='0'>"; echo"<tr>"; echo"<td align='center' bgcolor='#E5F9FF'>"; echo"<font size='2' color='#0033CC'><b><label for='5X21X73'>".$donnee['libelle_quest']."</br><font size='2' color='#0099FF'>(".$donnee['remarques'].")</i><b/></label>"; echo"</tr>"; echo"<tr>"; echo"<td align='center'>"; $query_rep = "SELECT * FROM reponse WHERE id_question = ".$donnee['id_question']." ORDER BY id_question"; $result = mysql_query($query_rep) OR die("Erreur"); echo"<table class='question'>"; while ( $reponse = mysql_fetch_array($result) ) { echo"<tr>"; echo"<td> </td>"; echo"<td align='left' class='answertext'>"; if($donnee['type']=="Multichoix") { echo"<input type=\"checkbox\" name=\"question".$donnee['id_question']."[]\"value=\"".$reponse['libelle_rep']."\" />"; echo"<label class=\"answertext\">".$reponse['libelle_rep']."</label>"; echo "<br />"; } else if($donnee['type']=="choix unique") { echo "<INPUT TYPE=\"radio\" NAME=\"question".$donnee['id_question']."\" VALUE=\"".$reponse['libelle_rep']."\""; if(isset($_SESSION['question' . $donnee['id_question']]) AND $_SESSION['question' . $donnee['id_question']]===$reponse['libelle_rep']) {echo "checked";} echo "/>"; echo $reponse['libelle_rep']."<BR>"; } }//fin while reponses if($donnee['type']=="champs texte") echo"<input type=\"text\" name=\"question".$donnee['id_question']."\" size=\"30\"/>"; else if($donnee['type']=="textarea") { echo "< textarea type=\"textarea\" name=\"question".$donnee['id_question']."\" rows=\"5\" cols=\"40\"/>"; }echo "<br />"; echo"</td>"; echo"<td> </td>"; echo"</tr>"; echo"</table>"; echo"</td>"; echo"</tr>"; echo"<tr>"; echo"<td align='center' bgcolor='#E5F9FF'>"; echo"<font size='1'></font>"; echo"</td>"; echo"</tr>"; echo"</table>"; echo"</td>"; echo"</tr>"; echo"</table>"; echo"<table>"; echo"<tr>"; echo"<td height='1'></td>"; echo"</tr>"; echo"</table>"; echo"</div>"; //fin while question /* ICI VOTRE CODE NORMAL */ /* Affichage d'un élément */ } // Nb d'enregistrement total $nb_total = mysql_query('SELECT COUNT(*) AS id_question FROM question WHERE id_categorie = 1 '); $nb_total = mysql_fetch_array($nb_total); $nb_total = $nb_total['id_question']; // Pagination $nb_pages = ceil($nb_total / $pagination); //Si il n'y a pas plus d'une page on renvoit rien... for ($i = 1 ; $i = $nb_pages ; $i++) { if ($i == $page ){ echo " $i"; } else { echo " <a href=\"?page=$i\">$i</a> "; } echo '/'; } ?> </td> </tr> </table> <table><tr><td height='2'></td></tr></table> <!-- PRESENT THE NAVIGATOR --> <table width='100%' align='center' bgcolor='#E5F9FF'> <tr> <td align='left' valign='middle' height='40'> <!-- <div class='clearall'><a href='/middlewaresurvey/index.php?sid=5&move=clearall' onClick='return confirm("Are you sure you want to clear all your responses?")'>[Exit and Clear Survey]</a></div> s){ --> <form method="get" action=""> <input type="button" name="page_x_1" onclick="JavaScript:window.open('?page=<?php echo ($_GET['page']-1);?>','_self');" value="PAGE PRECEDENTE"> <input type="button" name="page_x_2" onclick="JavaScript:window.open('?page=<?php echo ($_GET['page']+1);?>','_self');" value="PAGE PRECEDENTE"> </form>
$nb_questions[0]=""; for($i=1;$i<=$nb_questions[0];$i++){ if(isset($_POST['question' . $i]) ) { $_SESSION['question' . $i]= $_POST['question' . $i]; echo $_SESSION['question' . $i]; } }
C'est étrange comme code
$nb_questions[0]="", d'accord, donc $i<=$nb_questions|0] n'a aucun sens.
1 <= "" ne signifie rien en programmation, à priori ça rend false (pas vérifié) donc la boucle ne doit pas se faire
ben parcque quand je met pas $nb_questions[0]=""; il me signale un erreur undfined nb_question .
ben ce code marche quand je le tste juste sur 2 page je trouve mes varible de sesion et pa de probleme je veux qu'il marche avec pagination un nombre n'est pas définis de pages aussi
le <form methode='post' action=''> je sais pa quoi metrre dans le action et comment palacer le button submit ????
ben ce code marche quand je le tste juste sur 2 page je trouve mes varible de sesion et pa de probleme je veux qu'il marche avec pagination un nombre n'est pas définis de pages aussi
le <form methode='post' action=''> je sais pa quoi metrre dans le action et comment palacer le button submit ????
Bonjour,
Non, $nb_questions[0], ne contient jamais rien d'après ce que je voie de votre code. Vous l'instanciez à "" et c'est tout.
Si dans une autre page, vous avez remplit ce tableau, lorsque vous appelez votre nouvelle page, cette variable se retouvre à nouveau non définie. En PHP les variables on une portée limitée à la page, sauf vi vous passez par le mécanisme des sessions.
Non, $nb_questions[0], ne contient jamais rien d'après ce que je voie de votre code. Vous l'instanciez à "" et c'est tout.
Si dans une autre page, vous avez remplit ce tableau, lorsque vous appelez votre nouvelle page, cette variable se retouvre à nouveau non définie. En PHP les variables on une portée limitée à la page, sauf vi vous passez par le mécanisme des sessions.