La Communauté Webmaster  forum rss


  Forum-webmaster
  Technique - programmation
  PHP / MySQL
(Modérateurs: Shain, Jey, erwinol, Lilian, lauryv, ToToMaStEr)
  pagination de plusieurs requète sql
« Précédent Suivant »
Pages: [1] Descendre
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
  Auteur  Sujet: pagination de plusieurs requète sql  (Lu 1913 fois)
pagination de plusieurs requète sql
« sur: le 27-11-2013 a 08:46:01 »
tom.dev
Membre récent
*

Hors-Ligne

Messages: 3





Voir le Profil
Répondre avec citation

Bonjour a tous ,
Aujourdui je vaudrais corser un peu mon code d'hier ( pour ce qui ont suivi ).

Je voudrais faire une pagination des résultats de 3 requètes sql aléatoire ( en faite j'ai dans ma table sql une colonne positions avec comme valeurs soit 1 , 2 ou 3)  .

En gros :
REQUETE A (position = 1) : résultat sur x nombre de pages
REQUETE B (position = 2) : résultat sur x nombre de pages a la suite de requète A
REQUETE C (position = 3) : résultat sur x nombre de pages a la suite de requète B

Il faudra que je puisse inserer les titres de mes requetes(requete A, requete B, requette C) avant les résultats


je met mon code d'hier ou la pagination fonctionne parfaitement sur une seul requete aléatoire :

Code:


<?php
session_start();

if (!isset($_SESSION['key'])) {
    $_SESSION['key'] = rand(1, 1000);
}
if ((isset($_GET['action'])) && ($_GET['action'] == 'logout'))
   {
      $_SESSION = array();
      session_destroy();
      session_start();
   }
?>


<!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="fr">
  <head>
      <title>Livre d'or</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

        <style type="text/css">
        form, .pages
        {
            text-align:center;
        }
        </style>
    </head>
 

    <p class="pages">
<p><a href="test4.php?action=logout" title="Déconnexion">Se déconnecter</a></p>



<?php
try
         {
         $bdd = new PDO('mysql:host=localhost;dbname=dechetterie_npdc' , 'root' , '' ) ;
         }
         catch (Exception $e)
         {
         die('Erreur :' .$e->getMessage());
         }



// --------------- Étape 2 -----------------
// On écrit les liens vers chacune des pages
// -----------------------------------------

// On met dans une variable le nombre de messages qu'on veut par page
$nombreDeMessagesParPage = 4; // Essayez de changer ce nombre pour voir :o)
// On récupère le nombre total de messages
$retour = $bdd->query('SELECT COUNT(*) AS nb_messages FROM npdc');
$donnees = $retour->fetch();
$totalDesMessages = $donnees['nb_messages'];
// On calcule le nombre de pages à créer
$nombreDePages  = ceil($totalDesMessages / $nombreDeMessagesParPage);
// Puis on fait une boucle pour écrire les liens vers chacune des pages
echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
    echo '<a href="test4.php?page=' . $i . '">' . $i . '</a> ';
}
?>

</p>

<?php


// --------------- Étape 3 ---------------
// Maintenant, on va afficher les messages
// ---------------------------------------

if (isset($_GET['page']))
{
        $page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page=4)
}
else // La variable n'existe pas, c'est la première fois qu'on charge la page
{
        $page = 1; // On se met sur la page 1 (par défaut)
}

// On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;

$reponse = $bdd->query('SELECT * FROM npdc WHERE POSITION=1 ORDER BY RAND(' . $_SESSION['key'] . ') LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);

while ($donnees = $reponse->fetch())
{
        echo '<p><strong>' . $donnees['adresse'] . '</strong> a écrit :<br />' . $donnees['ville'] . '</p>';
   
}

?>

</body>
</html>


Voila j'ai beaucoup chercher sur le net hier après-midi et soir , j'ai pas trouvé ce que je voulais , il y a pas mal d'info pour 1 seul requete mais pas plusieurs , apparament c'est assez complexe .

Moi je débute , je me lance quelque defis pour apprendre .

En vous remerciant.

Rapporter au modérateur  
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
Pages: [1] Monter
« Précédent Suivant »
Sauter à: 

Votre statut : Invité
Vous devez être membre pour participer.
 
 
Let’s Encrypt : le certificat SSL gratuit
Tester votre site internet sur différents navigateurs
[WordPress] Des problèmes avec l’administration ?
Rappel : Mettez à jour vos CMS et vos sites E-commerce
Le .fr fête ses 25 années d’existence !
Mesurer votre audience en temps réel avec BubbleStat
Porter réclamation contre Google Panda ?
Zlio n’est plus …
 
 
 
 
 

Copyright (c) Devclic 2002 - 2026 - Tous droits réservés

creation site internet strasbourg