begin process at 2012 05 28 12:00:44
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

aide conserver variable avec pagination


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

aide conserver variable avec pagination

samedi 23 mai 2009 à 16:13:56 | aide conserver variable avec pagination

kilvan90

bonjour

donc voila j'ai fais une page ou on fait une rechecher et apres une pagination pour afficher les resultats de la recherche page par page
la requete est ok
la pagination aussi
mais seul hic c est que je ne conserve pas la valeur de ma requete apres la premiere page de pagination.

donc je souhaiterais savoir avec quel proceder je peut faire ca
je suis sur easyphp 3.0 j'ai essayer avec les variables en session mais ca ne fonctionne pas

voila les deux pages de codes :

dans le fichier qui recupere et traite la variable j'ai mis :
$nom = $_POST['nomchercher'];

dans le fichier pagination :

// on se connecte à MySQL
$db = mysql_connect('localhost', 'root', 'root');
// on sélectionne la base particulier
mysql_select_db('fapiparticulier',$db) or die('Erreur de selection '.mysql_error());


/* Numero de page (1 par défaut) */
if( isset($_GET['page']) && is_numeric($_GET['page']) )
  $page = $_GET['page'];
else
  $page = 1;

/* Nombre d'info par page */
$pagination = 1;
/* Numéro du 1er enregistrement à lire */
$limit_start = ($page - 1) * $pagination;

/* Préparation de la requête */
$sql = "SELECT * FROM particulier where nom = '$nom' LIMIT $limit_start, $pagination";

/* Requête SQL */
$resultat = mysql_query($sql);

/* Traitement et affichage des données */
while ( $row = mysql_fetch_assoc($resultat) ) {

  /* ICI VOTRE CODE NORMAL */
  /* Affichage d'un élément */
include ("resultatrecherche.php");
}

/* Nb d'enregistrement total */
$nb_total = mysql_query("SELECT COUNT(*) AS nb_total FROM particulier where nom = '$nom'");
$nb_total = mysql_fetch_array($nb_total);
$nb_total = $nb_total['nb_total'];

/* Pagination */
$nb_pages = ceil($nb_total / $pagination);

echo '<p>[ Page :';
/* Boucle sur les pages */
for ($i = 1 ; $i <= $nb_pages ; $i++) {
  if ($i == $page )
    echo " $i";
  else
    echo " <a href=\"?page=$i\">$i</a> ";
}
echo ' ]</p>';

merci d'avance
samedi 23 mai 2009 à 16:54:28 | Re : aide conserver variable avec pagination

nautilus99

Réponse acceptée !
Pour le garder en session:

if ( isset( $_POST['nomchercher'] ) ) {
  $_SESSION['nomchercher'] = $_POST['nomchercher'] ;
}

et où on peut en avoir besoin:

if ( isset( $_SESSION['nomchercher'] ) )
   echo $_SESSION['nomchercher'] ;

par exemple...


samedi 23 mai 2009 à 17:03:39 | Re : aide conserver variable avec pagination

kilvan90

bonjour,

merci je test ca de suite
samedi 23 mai 2009 à 17:34:17 | Re : aide conserver variable avec pagination

kilvan90

salut

merchi ca marche nikel ^^
jeudi 5 novembre 2009 à 22:59:46 | Re : aide conserver variable avec pagination

hades33

bonsoir j'ai le méme probleme que toi masi je ne comprend pas bien la reponse , surtoutje ne vois pas ou inserer les parametres suivant :

if ( isset( $_POST['nomchercher'] ) ) {
$_SESSION['nomchercher'] = $_POST['nomchercher'] ;
}

et où on peut en avoir besoin:( mais ou ??????????)

if ( isset( $_SESSION['nomchercher'] ) )
echo $_SESSION['nomchercher'] ;
tu pourrai les positionner dans ton code par exemple , ca m'aiderai bcp pour le mien ou alors je donne mon code comme vous le souhaitez car la je galere sévére depuis 1 semaine dessus..c'est assez rageant

merci a vous
jeudi 5 novembre 2009 à 23:57:41 | Re : aide conserver variable avec pagination

hades33

voici mon code a corriger
Code PHP :
<?
// identification login
session_start();
if (!isset($_SESSION['login'])) {
	header ('Location: index.php');
	exit();
}
?>
<?

$_SESSION['metier'] = $_POST['metier'];
$_SESSION['departement'] = $_POST['departement']; 
$_SESSION['codepostal'] = $_POST['codepostal']; 
$_SESSION['lieu'] = $_POST['lieu'];
?>

<!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" xml:lang="en" lang="en">
<head>
	<meta http-equiv="content-type" content="text/html;charset=iso-8859-2" />
	<meta name="author" content="Luka Cvrk (www.solucija.com)" />
	<link rel="stylesheet" href="recherche.css" type="text/css" />
	<title>Internet Sharing</title>
    <style type="text/css">
<!--
.Style1 {
	font-family: Georgia, "Times New Roman", Times, serif;
	color: #800000;
}
.Style2 {
	font-family: Geneva, Arial, Helvetica, sans-serif;
	color: #FF8040;
	font-weight: bold;
}
.Style3 {color: #004000}
-->
    </style>
</head>
<body>

		                  <div id="content"><div id="header">
		                    <table width="961" height="105" border="0">
                              <tr>
                                <td width="206" height="101"><div align="center"> </div></td>
                                <td width="568"><div align="center">
                                    <h1><a href="#" title="Centralized Internet Content" class="Style1"> www.super-nounou.com </a></h1>
                                </div></td>
                                <td width="173"><div align="center"></div></td>
                              </tr>
                            </table>
		                    <p><strong>
	                        </strong></p>
		  </div>
					
	  <div id="tabs"><ul>
	   <li><a href="index.htm">Accueil</a></li>
	    <li><a href="compteC.php">Mon compte</a></li>
				<li><a href="recherche.php">Recherche</a></li>
				<li><a href="annonces.php">Annonces</a></li>
				<li><a href="faq.htm">FAQ</a></li>
				<li><a href="cgu2.htm">CGU</a></li>
                <li><a href="contact.php">Contact</a></li>
				
				
      </ul>
		
	  </div>
					
		<div class="">
		<p>&nbsp;</p>
		</div>
		
		<div class="left"><div class="left_articles">
		  
		    <p align="center"><strong>
		    <h2 align="center">Resultat de la recherche : </h2>
		    <p align="center">S&eacute;l&eacute;ctionnez le login de la personne que vous allez choisir 
		   pour avoir toutes les informations necessaires:</p>
		    </strong>
		    <p align="center"><?
			
include("chiens.inc");

$login=htmlentities(trim($_SESSION['login']));

// Connexion au serveur mysql
$connect = mysql_connect($host, $user,
$password)
or die('Impossible de se connecter : ' . mysql_error());
// sélection de la base de données
mysql_select_db($database, $connect);

$metier=$_POST['metier'];
$departement=$_POST['departement'];
$codepostal=$_POST['codepostal'];
$lieu=$_POST['lieu']; 

$messagesParPage=5; //Nous allons afficher 5 messages par page.

$retour_total= mysql_query ("SELECT COUNT(*) AS total from membre WHERE  metier like '%$metier%' AND departement like '%$departement%' AND codepostal like '%$codepostal%' and lieu like '%$lieu%'") or die (mysql_error()); //Nous récupérons le contenu de la requete dans $retour_total
$donnees_total=mysql_fetch_assoc($retour_total); //On range retour sous la forme d'un tableau.
$total=$donnees_total['total']; //On récupere le total pour le placer dans la variable $total.

//Nous allons maintenant compter le nombre de pages.
$nombreDePages=ceil($total/$messagesParPage);

if(isset($_GET['page'])) // Si la variable $_GET['page'] existe...
{
     $pageActuelle=intval($_GET['page']);
     
     if($pageActuelle>$nombreDePages) // Si la valeur de $pageActuelle (le numéro de la page) est plus grande que $nombreDePages...
     {
          $pageActuelle=$nombreDePages;
     }
}
else // Sinon
{
     $pageActuelle=1; // La page actuelle est la n°1    
}

$premiereEntree=($pageActuelle-1)*$messagesParPage; // On calcul la premiere entrée a lire



// La requete sql pour récupérer les messages de la page actuelle.
$retour_messages=mysql_query("select * from membre where metier like '%$metier%' AND departement like '%$departement%' AND codepostal like '%$codepostal%' and lieu like '%$lieu%' ORDER BY id DESC LIMIT ".$premiereEntree.', '.$messagesParPage.'');

while($donnees_messages=mysql_fetch_assoc($retour_messages)) // On lit les entrées une a une grâce a une boucle
{
     //Je vais afficher les messages dans des petits tableaux. C'est a vous d'adapter pour votre design...
     //De plus j'ajoute aussi un nl2br pour prendre en compte les sauts a la ligne dans le message.
     
	 
	 echo '<table width="606" border="1" align="center" cellpadding="1" cellspacing="1">

  <tr>
    <td width="144" height="31"><strong>Login :'.stripslashes($donnees_messages['login']).' </strong></td>
    <td width="150"><strong>Code postal :'.stripslashes($donnees_messages['codepostal']).'</strong></td>
    <td width="168"><strong>Ville :'.nl2br(stripslashes($donnees_messages['ville'])).'</strong></td>
    <td width="121" rowspan="2"><div align="center"><a href="traitementchoixresultat.php"><img src="images/Icone_loupe.png" width="40" height="40" alt="" /></a></div></td>
  </tr>
  <tr>
    <td height="32" colspan="3"><strong>Type de residence :</strong></td>
    </tr>
  <tr>
    <td height="36" colspan="3"><strong>Appréciation globale :</strong></td>
    <td>&nbsp;<strong>Disponibilit&eacute; :</strong></td>
  </tr>
 
  </table><br /><br />';

    //J'ai rajouté des sauts a la ligne pour espacer les messages.   
}

echo '<p align="center">Page : '; //Pour l'affichage, on centre la liste des pages
for($i=1; $i<=$nombreDePages; $i++) //On fait notre boucle
{
	
     //On va faire notre condition
     if($i==$pageActuelle) //Si il s'agit de la page actuelle...
     {
         echo ' [ '.$i.' ] '; 
     }	
     else //Sinon...
     {
          echo ' <a href="rechercheresultat.php?page='.$i.'">'.$i.'</a> ';
     }
}
echo '</p>';

?></p>
		    <p>&nbsp;</p>
		    <p>&nbsp;</p>
		    <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
		    <p>&nbsp;</p>
		    <p>&nbsp;</p>
		    <p>&nbsp;</p>
		    <p>&nbsp;</p>
<p><table width="606" border="1" align="center" cellpadding="1" cellspacing="1">
  <tr>
    <td width="144" height="31"><strong>Login :'.stripslashes($donnees_messages['login']).' </strong></td>
    <td width="150"><strong>Code postal :'.stripslashes($donnees_messages['codepostal']).'</strong></td>
    <td width="168"><strong>Ville :'.nl2br(stripslashes($donnees_messages['ville'])).'</strong></td>
    <td width="121" rowspan="2"><div align="center"><a href="traitementchoixresultat.php"><img src="images/Icone_loupe.png" width="40" height="40" alt="" /></a></div></td>
  </tr>
  <tr>
    <td height="32" colspan="3"><strong>Type de residence :</strong></td>
    </tr>
  <tr>
    <td height="36" colspan="3"><strong>Appréciation globale :</strong></td>
    <td>&nbsp;<strong>Disponibilit&eacute; :</strong></td>
  </tr>
 
  </table>
</p>
		    <p>&nbsp;</p>
<p>&nbsp;</p>
		    <p>&nbsp;</p>
        </div>
		</div>	
		
		<div id="right">
		  <div class="boxtop"></div>
		  <div class="box">
		 

        </p> <form action="rechercheresultat.php" method="post" enctype="multipart/form-data">
        <div align="center">
          <h2>Formulaire de recherche</h2>
          
        </div>
        <div class="buttons">
       
<p align="left">&nbsp;</p>
<p align="left"><strong>LE TYPE DE GARDE :</strong>
  <select name="metier"  style="width: 204px" >
    <option value="00">Selectionnez le type de Garde.</option>
    <option value="Assistante maternelle">Assistante maternelle</option>
    <option value="Baby sitter">Baby sitter</option>
    <option value="Garde d'enfant &agrave; domicile">Garde d'enfant &agrave; domicile</option>
  </select>
</p>
        <p align="left"> <strong>LE DEPARTEMENT :</strong>
          <select name="departement"  style="width: 204px" >
            <option value="00">Selectionnez un Départ.</option>
            <option value="01">01 - Ain</option>
            <option value="02">02 - Aisne</option>
            <option value="03">03 - Allier</option>
            <option value="04">04 - Alpes de Haute Provence</option>
            <option value="05">05 - Alpes (Hautes)</option>
            <option value="06">06 - Alpes Maritimes</option>
            <option value="07">07 - Ard&eacute;che</option>
            <option value="08">08 - Ardennes</option>
            <option value="09">09 - Ari&eacute;ge</option>
            <option value="10">10 - Aube</option>
            <option value="11">11 - Aude</option>
            <option value="12">12 - Aveyron</option>
            <option value="13">13 - Bouches du Rh&ocirc;ne</option>
            <option value="14">14 - Calvados</option>
            <option value="15">15 - Cantal</option>
            <option value="16">16 - Charente</option>
            <option value="17">17 - Charente Maritime</option>
            <option value="18">18 - Cher</option>
            <option value="19">19 - Corr&eacute;ze</option>
            <option value="20">20 - Corse</option>
            <option value="21">21 - C&ocirc;te d'Or</option>
            <option value="22">22 - C&ocirc;tes d'Armor</option>
            <option value="23">23 - Creuse</option>
            <option value="24">24 - Dordogne</option>
            <option value="25">25 - Doubs</option>
            <option value="26">26 - Dr&ocirc;me</option>
            <option value="27">27 - Eure</option>
            <option value="28">28 - Eure et Loir</option>
            <option value="29">29 - Finist&eacute;re</option>
            <option value="30">30 - Gard</option>
            <option value="31">31 - Garonne (Haute)</option>
            <option value="32">32 - Gers</option>
            <option value="33">33 - Gironde</option>
            <option value="34">34 - H&eacute;rault</option>
            <option value="35">35 - Ille et Vilaine</option>
            <option value="36">36 - Indre</option>
            <option value="37">37 - Indre et Loire</option>
            <option value="38">38 - Is&eacute;re</option>
            <option value="39">39 - Jura</option>
            <option value="40">40 - Landes</option>
            <option value="41">41 - Loir et Cher</option>
            <option value="42">42 - Loire</option>
            <option value="43">43 - Loire (Haute)</option>
            <option value="44">44 - Loire Atlantique</option>
            <option value="45">45 - Loiret</option>
            <option value="46">46 - Lot</option>
            <option value="47">47 - Lot et Garonne</option>
            <option value="48">48 - Loz&eacute;re</option>
            <option value="49">49 - Maine et Loire</option>
            <option value="50">50 - Manche</option>
            <option value="51">51 - Marne</option>
            <option value="52">52 - Marne (Haute)</option>
            <option value="53">53 - Mayenne</option>
            <option value="54">54 - Meurthe et Moselle</option>
            <option value="55">55 - Meuse</option>
            <option value="56">56 - Morbihan</option>
            <option value="57">57 - Moselle</option>
            <option value="58">58 - Ni&eacute;vre</option>
            <option value="59">59 - Nord</option>
            <option value="60">60 - Oise</option>
            <option value="61">61 - Orne</option>
            <option value="62">62 - Pas de Calais</option>
            <option value="63">63 - Puy de D&ocirc;me</option>
            <option value="64">64 - Pyr&eacute;n&eacute;es Atlantiques</option>
            <option value="65">65 - Pyr&eacute;n&eacute;es (Hautes)</option>
            <option value="66">66 - Pyr&eacute;n&eacute;es Orientales</option>
            <option value="67">67 - Rhin (Bas)</option>
            <option value="68">68 - Rhin (Haut)</option>
            <option value="69">69 - Rh&ocirc;ne</option>
            <option value="70">70 - Sa&ocirc;ne (Haute)</option>
            <option value="71">71 - Sa&ocirc;ne et Loire</option>
            <option value="72">72 - Sarthe</option>
            <option value="73">73 - Savoie</option>
            <option value="74">74 - Savoie (Haute)</option>
            <option value="75">75 - Paris (Dept.)</option>
            <option value="76">76 - Seine Maritime</option>
            <option value="77">77 - Seine et Marne</option>
            <option value="78">78 - Yvelines</option>
            <option value="79">79 - S&eacute;vres (Deux)</option>
            <option value="80">80 - Somme</option>
            <option value="81">81 - Tarn</option>
            <option value="82">82 - Tarn et Garonne</option>
            <option value="83">83 - Var</option>
            <option value="84">84 - Vaucluse</option>
            <option value="85">85 - Vend&eacute;e</option>
            <option value="86">86 - Vienne</option>
            <option value="87">87 - Vienne (Haute)</option>
            <option value="88">88 - Vosges</option>
            <option value="89">89 - Yonne</option>
            <option value="90">90 - Belfort (Territoire de)</option>
            <option value="91">91 - Essonne</option>
            <option value="92">92 - Hauts de Seine</option>
            <option value="93">93 - Seine Saint Denis</option>
            <option value="94">94 - Val de Marne</option>
            <option value="95">95 - Val d'Oise</option>
          </select>
          </span></dfn></p>
        <p align="left"> <strong> CODE POSTAL DE LA VILLE SOUHAITE :</strong>
          <label>
            <input type="text" name="codepostal" id="codepostal"  />
          </label>
        </p>
        <p align="left"><strong>LIEU DE GARDE:</strong>
          <select name="lieu"  style="width: 204px" >
            <option value=""></option>
            <option value="Maison avec jardin ">Maison avec jardin</option>
            <option value="Maison sans jardin">Maison sans jardin</option>
            <option value="Appartement avec jardin">Appartement avec jardin</option>
            <option value="Appartement sansc jardin">Appartement sans jardin</option>
          </select>
        </p>
<p align="left">&nbsp;</p>
        <p align="left">&nbsp;</p>
        <p align="left">&nbsp;</p>
        <p align="left">&nbsp;</p>
        <p align="left">&nbsp;</p>
        <p align="left">&nbsp;</p>
        <p align="left">&nbsp;</p>
        <p align="left">&nbsp;</p>
        <div align="left"><div align="right"><p></p>
        <p align="center">
          <input type="submit" value="Rechercher" alt="Lancer la recherche!" />
        </p>
		    </div></div></div></form>
          </div>
			<div align="left"><div align="right"><div class=""></div>
			<div class="">
			  <p>&nbsp;</p> 
				
				<p>&nbsp;</p>
				<div class="buttons">
				  <p align="center">&nbsp;</p>
				  <p>&nbsp;</p>
</div>
			</div>
		</div></div></div>	
		<div align="left"><div align="right"><div class="footer">
			<p><a href="http://jigsaw.w3.org/css-validator/check/referer">CSS</a> and <a href="http://validator.w3.org/check?uri=referer">XHTML</a><br />
		  &copy; Copyright 2009<a title="Free CSS Templates" href="http://www.solucija.com/"></a></p>
		</div>
	</div></div></div>
</body>
</html>


merci bcp
vendredi 6 novembre 2009 à 00:06:01 | Re : aide conserver variable avec pagination

hades33

j'ai oublier de preciser que ce code est surle fichier "rechercheresultat.php"

merci


Cette discussion est classée dans : page, mysql, nb, total, pagination


Répondre à ce message

Sujets en rapport avec ce message

pagination formulaire [ par raouen ] 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'aff probleme pagination avec plusieur requet sql [ par dpk1 ] bonjour à tous, je suis débutant autodidacte et je fais mon premier site en php. voila j'ai une pagination que j"ai repris qui fonctionne très bien l Affichage page par Page [ par milkasoprano ] Bonjour tous le monde,Je vous écris car j'ai un tous petit probleme au niveau de mon script qui affiche les resultat dune requete par page...Le script erreur mysql_fetch_array() pour resortire les message [ par speedylol ] Bonjour je vois pas l'erreur que j'ai faite sur un script que j ai repris et modifier pour qu'il fonction sous session seriez vous me dire car je suis e voudré mettre un lien différent par news [ par Miss1 ] Miss1salut g fait mis sur mon site des news et je veut mettre un lien pour différents pour c url rewriting et nombre de pages d'une requete [ par arnold002 ] Bonjour ¨¤ tous,Je viens de me lancer dans la r¨¦¨¦criture d'URL pour augmenter l'indexation de mes pages sur les moteurs de recherche.J'utilise le mo Problème dans ma recherche [ par R3dDragon ] Bonjour, voilà j'ai un petit problème, j'ai crée un petit moteur de recherche pour mon site, celui-ci fouille la base de donnée et affiche les résulta problème de pagination dans le résultat d'une recherche [ par caliche ] Bonjour, j'ai un petit problème avec ma pagination, mon code fonctionne presque mais pas tout à fait ! Voilà ce que je veux faire:j'ai une petit formu Insertion de donné mysql [ par Faliarison ] J'ai une page php que contient un formulaire d'etat civil (Nom, Prenom, Adresse, telephone).Je veux insérer de donnés dans la base mysql à partir de requete update [ par ahlemlo ] bonjour a tousj'ai fait ce code pour modifier la table dans la bddd'abord j'ai afficher ma table voiture  dans laquelle il'ya  un lien (modifier)pour


Nos sponsors


Sondage...

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 : 1,778 sec (3)

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