formulaire dynamique dans un systemme de pagination
Posté : 14 mai 2011, 21:54
bonsoir
j'arrive pas a corriger ce code pour rendre les button suivant et précédent ne boucle pas a l'infinie et rendre les sessions active c'est a dire je récupère mes valeurs car je sais pas utiliser
session_start();
foreach($_POST as $k => $v){
$_SESSION[$k]=$v;
}
j'arrive pas a corriger ce code pour rendre les button suivant et précédent ne boucle pas a l'infinie et rendre les sessions active c'est a dire je récupère mes valeurs car je sais pas utiliser
session_start();
foreach($_POST as $k => $v){
$_SESSION[$k]=$v;
}
Code : Tout sélectionner
<?php
session_start();
foreach($_POST as $k => $v){
$_SESSION[$k]=$v;
}
/*
$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];
}
}
*/
?>
<?php
// Numero de page (1 par défaut)
$db_host="localhost";
$db_username="root";
$db_name="navigateursweb";
$db_password="";
//Connexion à la BDD
$connect = mysql_connect($db_host,$db_username,$db_password) or die("Erreur de connexion au serveur");
mysql_select_db($db_name,$connect) or die("Erreur de connexion à la base de données");
$sql = "SELECT * FROM question WHERE id_categorie='1'";
$resultat = mysql_query($sql);
$count=mysql_num_rows($resultat);/*pour afficher le dernier form*/
if(isset($_GET['page']) && is_numeric($_GET['page']) && (int)$_GET['page'] > 0){
$page = $_GET['page'];
}else{
$page=1;
}
$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
// Nombre d'info par page
$pagination = 7;
// Numéro du 1er enregistrement à lire
$limit_start = ($page - 1) * $pagination;
$nb_pages = ceil($nb_total / $pagination);
?>
<table align="center">
<tr><td>
<form method="get" action="<?php echo $_SERVER["PHP_SELF"];?>">
<input type="hidden" name="page" value="<?php echo ($_GET['page']+1); ?>">
<input type="submit" name="BT1" value="PAGE SUIVANTE">
</form>
</td><td>
<form method="get" action="<?php echo $_SERVER["PHP_SELF"];?>">
<input type="hidden" name="page" value="<?php echo ($_GET['page']-1); ?>">
<input type="submit" name="BT2" value="PAGE PRECEDENTE">
</form>
</td></tr>
</table>
<?php
echo '<h1>'.$page .'</h1>';
if($limit_start<=$count){
// 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"<td align=\"center\"/><input type=\"text\" class=\"text\" name=\"question".$donnee['id_question']."\" size=\"8\"/>";
else if($donnee['type']=="textarea")
{
echo "<td align=\"center\"/><textarea name=\"question".$donnee['id_question']."\" class=\"textarea\" rows=\"5\" cols=\"40\"></textarea>";
}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
}else{
echo '<pre>';
print_r($_SESSION);
echo '</pre>';
$inputhidden="";
foreach($_SESSION as $k => $v){
$inputhidden.='<input type="hidden" name="'.$k.'" value="'.$v.'" />';
}
echo '<form method="post" action="essai.php">
'.$inputhidden.'
<input type="submit" value="traitement">
</form>';
//fin
}
?>