begin process at 2012 05 28 21:30:24
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Formulaire avec des boutons suivants et precedents


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Formulaire avec des boutons suivants et precedents

vendredi 16 avril 2010 à 23:03:22 | Formulaire avec des boutons suivants et precedents

lola2006

Bonjour,
j'ai un problème avec mon code source : je dois construire un formulaire des questions dont les données sont stockées dans une base de données. J'ai pu réaliser le formulaire et récupérer les ponderations à chaque question et à la fin j'ai pu claculer le score total. Mais après on m'a suggéré au lieu d'afficher le formulaire en entier, je dois le faire page par page avec des boutons précédent et suivant. Sauf que lorsque je choisis une réponse et je vais au suivant et par la suite je reviens au précédent, mes réponses ne sont plus cochées. J'ai besoin de votre aide, Merci!
Voilà mon code :
<?php
session_start();

global $rep;
$rep=array();

if (isset($_POST['btnCompleter'])) {
header('Location:pageReussi.php');
}

if (isset($_POST['btnSuivant'])) {

$limit=$_POST['limitS'];
$numTest=$_SESSION['p'];
}
else
if (isset($_POST['btnPrecedent'])) {
$limit=$_POST['limitP'];
$numTest=$_SESSION['p'];
echo "le test apres le clic suir le boutant ******* :".$limit;
}
else {
$_SESSION['p']=$_GET['p'];
$numTest=$_SESSION['p'];
$compteur = 1;
$limit=0;
}

require 'fonctions.php';
include 'connexion.php';
mysql_query("SET NAMES UTF8");

/*initialisation des variables
-------------------------------
$total le nombre total d'enregistrements de la table
$limit ou en sommes nous dans notre affichage3*/
$nombre = 3; //$nombre nombre d'enregistrements qu'on veut afficher exemple


$path_parts=pathinfo($_SERVER['PHP_SELF']); //recuperer le nom de la page qui
$page=$path_parts['basename']; // sera utilisee dans les liens

//compter le nombre d'enregistrements de la table qui est $total
$req = "SELECT count(idQuestion) FROM questionTable WHERE idTest='".$numTest."'";
$rows=mysql_query($req)
or die(mysql_query_error());
$row=mysql_fetch_row($rows);
$total=$row[0];

//recuperation des reponses dans un tableau rep
for ($i=$limit; $i<$total; $i++) {
$rep[$i]=$_POST["q$i"+1];
}

for ($i=1; $i<=$total; $i++) {
echo "le tableau est".$_POST["q$i"]."-";
}

//verifier la validite de notre variable qui est verifLimite($limit)
$verif = verifLimite($limit,$total,$nombre);
if(!$verif) {
$limit = 0;
}

//requete qui ne prend que le nombre d'enregistrement necessaire a l'affichage
$req="SELECT * FROM questionTable WHERE idTest='".$numTest."'LIMIT ".$limit.",".$nombre;
$rows=mysql_query($req);

if ($total) {
$content="<table border='1'>";

//retrait et affichage des enregistrements de la base de donnees
While ($row=mysql_fetch_array($rows)) {
$typeQ="q".$row['numQuestion'];
if ($_POST["typeQ"]=='1' || $_POST["typeQ"]=='2' || $_POST["typeQ"]=='3' || $_POST["typeQ"]=='4') {
$styleQ="nostar";

}
else {
$styleQ="star";
}
$content.="<tr><td class='styleQuestion'><span class='".$styleQ."'>*</span>".$row['numQuestion']." - ".$row['enonceQuestion']."</td></tr>";

if ($_POST["$typeQ"]=='1') {
$content.="<tr><td><input type='radio' name='".$typeQ."' checked='checked' value='1'>Jamais<br>";
}
else {

$content.="<tr><td><input type='radio' name='".$typeQ."' value='1'>Jamais<br>";
}

if ($_POST["$typeQ"]=='2') {
$content.="<tr><td><input type='radio' name='".$typeQ."' checked='checked' value='2'>Occasionnel<br>";
}
else {
$content.="<tr><td><input type='radio' name='".$typeQ."' value='2'>Occasionnel<br>";
}

if ($_POST["$typeQ"]=='3') {
$content.="<tr><td><input type='radio' name='".$typeQ."' checked='checked' value='3'>Souvent<br>";
}
else {
$content.="<tr><td><input type='radio' name='".$typeQ."' value='3'>Souvent<br>";
}

if ($_POST["$typeQ"]=='4') {
$content.="<tr><td><input type='radio' name='".$typeQ."' checked='checked' value='4'>Toujours<br>";
}
else {
$content.="<tr><td><input type='radio' name='".$typeQ."' value='4'>Toujours<br>";
}

}
$content.="</table>";
}
else {
echo "Pas d'enregistrements dans cette table";
}
mysql_free_result($rows);

//si le nombre d'enregistrement a afficher est plus grand que $nombre
if($total>$nombre) {
//affichage des boutons
$ligneBoutons=displayNextPreviousButtons($limit,$total,$nombre,$page);
}
else {
echo "le total une fois il existe la fonction".$total;
}
?>
<!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' lang='en_US' xml:lang='en_US'>
<head>
<meta http-equiv='content-type' content='text/html; charset=UTF-8' />
<link rel="stylesheet" type="text/css" href="style.css" />
<title>Ceci est un test d'affichage page par page</title>
</head>
<body>
<h2>Liste des questions</h2>
<form action="<?php echo $page; ?>" method="post">
<?php
echo $content;
echo $ligneBoutons;
?>
</form>
</body>
</html>

et mon code de la fonction est :
function displayNextPreviousButtons($limit,$total,$nb,$page) {
$limiteSuivante=$limit+$nb;
$limitePrecedente=$limit-$nb;
echo "la reponse de la premiere question est :".$rep[1];


$ligneButtons="<table><tr>";
if ($limit!=0) {
$ligneButtons.="<td valign='top'>"."\n";
$ligneButtons.="<input type='hidden' value='".$limitePrecedente."' name='limitP'>";
$ligneButtons.="<input type='submit' name='btnPrecedent' value='precedents'>";
$ligneButtons.="</td>";
}
if ($limiteSuivante<$total) {
$ligneButtons.="<td valign='top'>"."\n";
$ligneButtons.="<input type='hidden' value='".$limiteSuivante."' name='limitS'>";
$ligneButtons.="<input type='submit' name='btnSuivant' value='suivants'>";
$ligneButtons.="</td>";
}
else {
$ligneButtons.="<td valign='top'>"."\n";
$ligneButtons.="<input type='submit' name='btnCompleter' value='Completer'>";
$ligneButtons.="</td>";
}
$ligneButtons.="</tr></table>";
echo "mon total dans la fonction est :".$total;
return $ligneButtons;
}
vendredi 16 avril 2010 à 23:35:25 | Re : Formulaire avec des boutons suivants et precedents


Cette discussion est classée dans : post, total, content, lignebuttons, typeq


Répondre à ce message

Sujets en rapport avec ce message

formulaire a envois double [ par Henixiz ] est ce que cest possible d'envoyer un formulaire a 2 e-mail a la fois !voici mon code source$Emaildest="mon_email@et_la.net"; function Formulaire_Tra Pb Recup variables FORM POST [ par fil ] Bonjour, Je suis en train de me prendre la tete sur un moyen de recuperer des variables d'un formluaire qui est créé dynamiquement par la lecture des Trouver le content-type d'un fichier ? [ par mehdibou ] Voilà, j'emmerais trouver le Content-type d'un fichier sur mon serveur, c koi la fonction ?Merci d'avance :)@+ et bonn' prog' et bonnes fêtes :)Mehdi probleme de post de formulaire [ par AquaPassion ] J'ai un gros probleme j'ai un formulaire sur les poissons avecnom commun , nom scientifique , famille , ... , generalites , habitat...qui insere une objet requis!! [ par saad123 ] salut!! g un p'tit probleme je cherche a faire un site de livraison de pizza mais g un prb pour calculer le montant d'une commande, j'utilise du javas variable php/javascript [ par saad123 ] tout d'abord merci pour l'aide ke vou mavé pa-c ca m'a mi sur la piste pour resoudre mon probleme. il y'a un autre hic dans mon prog, je c pa comment rien compris!! [ par saad123 ] G regardé dans le forum pour transmettre une variable javascript en php mais g pa trop compris! g regardé le lien sur dev.nexen.net mais g rien compri j'obtiens une erreur lors de l'envoi de fichier [ par overider ] je ve telechargé un fichier sur mon serveur j'utilise la methode post pour le formulaire et le type multipart/form-data j'utlise la fonction move upl Erreur internet explorer lors de post de formulaire [ par tetnobic ] Ma foi oui j'ai une erreur vraiment bizarre, j'explique :quand je poste un formulaire qui permet l'ajout de donnée dans une base j'ai eu belle erreur upload de fichiers [ par cakekiller ] Salut,voilà mon pb:Je cherche à uploader un fichier sur un serveur. Ma page de sélection de fichier est la suivante: <input name="fichi


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,749 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales