Pagination formulaire

Signaler
Messages postés
24
Date d'inscription
dimanche 6 décembre 2009
Statut
Membre
Dernière intervention
23 juin 2011
-
Messages postés
24
Date d'inscription
dimanche 6 décembre 2009
Statut
Membre
Dernière intervention
23 juin 2011
-
je suis entrain de travailler avec un système de pagination simple que je l'applique pour afficher une liste de formulaire de ma table mysql ;il m'affiche ce que je veux et pas d'erreurs mais dans ma page je dois faire une button précédente qui m'envoye vers la page précédente:
et je sais pas quoi ecrire pour quelle m'envoie sur ce que je veux selon mon système de pagination
et une button submit pour chaque formulaire (je travaille avec les sessions pour stocker les valeurs de chaque page):
<form method="post" action="???" />(je sais pas comment faire ici) aussi > ' name='move2' />
j'essais avec les liens suivant et précédent et ca fonctionne avec un petit test sur les pages mais je besoin de buttons pour mon formulaire et la récupération de valeurs de chaque page de pagination .
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
// 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);

//le reste de code html

4 réponses

Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
16
bonjour


<form method="post" action="">





/**/


</form>

a++

Bonne programmation !
Messages postés
24
Date d'inscription
dimanche 6 décembre 2009
Statut
Membre
Dernière intervention
23 juin 2011

bonjour
merci pour votre proposition
le nom de ma page de pagination est utilisation_individuelle donc j'ai remplacer dans le code proposé :

<form method="post" action="">






</form>
mais rien n'ajouter quand je clique sur les buttons il faut quoi mettre onclick="JavaScript:window.open('utilisation_individuelle.php?page=?','_self');dans cette partie???
et Merciiiiiiiiii
a++++
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
16
essaie si ta pagination fonctionne

<?php

if( isset($_GET['page']) && is_numeric($_GET['page']) ) 

echo $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 
// 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); 

//le reste de code html 

?>

<form method="get" action=""> 

','_self');"  value="PAGE PRECEDENTE"> 

','_self');"  value="PAGE SUIVANTE"> 

</form>




Bonne programmation !
Messages postés
24
Date d'inscription
dimanche 6 décembre 2009
Statut
Membre
Dernière intervention
23 juin 2011

ouiiiiiiiiiiiii merci il me bascule entre mes pages mais dommage j'ai toujours un truc qui me bloque je veux quand il arrive a la drenire page et je clique sur le button suivant il m'envoie ver une page de soumission qui n'apartien pas au systeme de pagination et labas se fait le traitement de donné récupérer par les sessions et l'enregistrement dans la base .
au début de ma page de pagination je met
<?php

session_start();
$nb_questions[0]= "";

for($i=1;$i<=$nb_questions[0];$i++){
if(isset($_GET['question' . $i]) )
{
  $_SESSION['question' . $i]= $_GET['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");

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"
";
echo"\";

echo\"----
\";

echo\"";

echo"<table width='100%' cellspacing='0'>";

echo"----
";

echo", \";

echo\" <label for='5X21X73'>\".$donnee['libelle_quest'].\" (\".$donnee['remarques'].\")</label>\";

echo\"\";
echo\"----
\";

echo\"";
$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"----
";
echo",  </td>\";
echo\"";
if($donnee['type']=="Multichoix")
{
echo"";
echo"<label class=\"answertext\">".$reponse['libelle_rep']."</label>";
echo "
";
}
else if($donnee['type']=="choix unique")
{
echo "";
echo $reponse['libelle_rep']."
";

}

}//fin while reponses
if($donnee['type']=="champs texte")
echo"";
else if($donnee['type']=="textarea")
{
echo "< textarea type=\"textarea\" name=\"question".$donnee['id_question']."\" rows=\"5\" cols=\"40\"/>";
}echo "
";
echo", \";
echo\", \";
echo\"\";
echo"
";
echo"</td>";

echo"</tr>";

echo"<tr>";

echo"<td align='center' bgcolor='#E5F9FF'>";

echo"";
     
echo"</td>";

echo"</tr>";

echo"</table>";

echo"</td>";


echo"</tr>";

echo"</table>";

echo"\";

echo\"----
\";

echo\", \";

echo\"\";

echo"
";
echo"
";

//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...  

<form method="get" action=""> <!--ici je doid mettre l'envoie vers mon fichier traitementform.php -->

','_self');"  value="PAGE PRECEDENTE"> 

','_self');"  value="PAGE SUIVANTE"> 

</form>

car je fais la soumission que a la fin (apré remplisagae de tout les question dans toutes les pages.
Merci
a++++