Partage
  • Partager sur Facebook
  • Partager sur Twitter

Forum

système de page

Sujet résolu
    28 août 2006 à 0:05:04

    Bonjour, j'ai un problème avec le système de pages, la pagination fonctionne parfaitement mais les sujets ne s'affichent plus. Merci !

    <html>
    <head>
    <title>Forum</title>
    </head>

    <body>
    <?php include("haut.php");?>
    <?php include("dateetheure.php");?>
    <?php include("menu.php");?>
    <?php
    // Connexion à la BD

    include ('config_db.php');

    mysql_connect ($home, $login, $password);
    mysql_select_db ($base);

    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) * $messagesParPage;

    // On met dans une variable le nombre de messages qu'on veut par page
    $messagesparpage = 15; // Essayez de changer ce nombre pour voir :o)

    // Recherche des sujets existants
    $query = "SELECT * FROM sujet ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $messagesParPage. ' ";
    $resultatSujet = mysql_query($query);


    // On récupère le nombre total de messages
    $retour = mysql_query('SELECT COUNT(*) AS nb_sujets FROM sujet');
    $nombredesujets = mysql_fetch_array($retour);
    $totalDesSujets = $nombredesujets['nb_sujets'];

    // On calcule le nombre de pages à créer
    $nombreDePages  = ceil($totalDesSujets / $messagesparpage);

    // Puis on fait une boucle pour écrire les liens vers chacune des pages
    echo 'Page : ';
    for ($i = 1 ; $i <= $nombreDePages ; $i++)   
    {
        echo '<a href="sujets.php?page=' . $i . '">' . $i . '</a> ';
    }
    mysql_close();
    ?>

    <div>
      <a href = "ajouterSujet.php">Nouveau sujet</a>
    </div><br />
    <table>
    <?php
      // Affichage des titres de tous les sujets et de leurs auteurs
      while ($donneesSujet = mysql_fetch_array($retour))
      {
     
    ?>

    <tr>
      <td>
        <a href = "voirSujet.php?sujet=<?php echo $donneesSujet['id']; ?>"><?php echo $donneesSujet['titre']; ?></a> par <b><?php echo $donneesSujet['auteur']; ?></b>
           
      </td>
    </tr>
    <?php
      }
    ?>

    </table><br />
    <?php include("bas.php");?>

    </body>
    </html>
    • Partager sur Facebook
    • Partager sur Twitter
      28 août 2006 à 2:39:26

      Cf. Ta signature!!!!!!! :-°

      Nan franchement tu crois qu'on est des magiciens?
      D'une tout ce que l'on sait c'est que tes sujets ne s'affiche pas, déjà commment on peut savoir précisément pourquoi? Je sais pas pour les autres mais moi j'ai de la matière grises pas une baguette magique!
      Puis quand on commence à regarder ton code ça fait peur, ouverture/fermeture des tag php pour placer du xhtml j'avais déjà vu - bien qu'inconcevables - mais pour séparer des includes o_O !!!!!!
      Plus la première requête tu as bien regardé ta concaténation? :euh:
      Tu vois je suis même pas aller plus loin et détrompe toi je ne suis pas emplit de mauvaise volonté.

      Alors tout ce tralala pour te dire que si tu désire de l'aide il faut éxpliquer en détaille ton problème (dans ton cas aussi il serait judicieux de dire après quel modif ton script ne marchait plus) de donner toutes les infos que tu peut, par éxemples la structure de tes tables SQL, il vaut mieux trop que pas assé, au moins on voit que tu fait les choses bien et sa motive (en voyant ça on aimerait pas corriger les copies à la place des profs!!! :p ).

      Donc éssaye d'améliorer tout ça et on véras après.

      Au revoir.
      • Partager sur Facebook
      • Partager sur Twitter
        28 août 2006 à 3:30:43

        Citation : the angel

        Cf. Ta signature!!!!!!! :-°
        Puis quand on commence à regarder ton code ça fait peur, ouverture/fermeture des tag php pour placer du xhtml j'avais déjà vu - bien qu'inconcevables - mais pour séparer des includes o_O !!!!!!



        etant un fervant adepte de la fermeture/ouverture de tag php pour placer du xhtml je voudrais savoir en quoi cela pose t'il un pb ?

        parce que je voudrais savoir si ca vaut le coup que je reprenne toute mes pages :D
        • Partager sur Facebook
        • Partager sur Twitter
          28 août 2006 à 16:47:35

          He bien oui ça vaut le coup, car l'interprétation des tag php est longue (tout est relatif, c'est en ms mais à force ça fait beaucoup).
          Après pour séparer xhtml/php, c'est une mauvaise idée, je trouve, mais ça peut se défendre pour la coloration ou je ne sais quoi, c'est toi qui voit ce que tu préfère mais pour les includes c'est complètement stupide (passez moi l'expression).
          • Partager sur Facebook
          • Partager sur Twitter
            29 août 2006 à 0:57:38

            Citation : the angel

            He bien oui ça vaut le coup, car l'interprétation des tag php est longue (tout est relatif, c'est en ms mais à force ça fait beaucoup).
            Après pour séparer xhtml/php, c'est une mauvaise idée, je trouve, mais ça peut se défendre pour la coloration ou je ne sais quoi, c'est toi qui voit ce que tu préfère mais pour les includes c'est complètement stupide (passez moi l'expression).



            les includes je confirme ... et merci pour la reponse je verrai si g le temps de revoir mon code ...
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              29 août 2006 à 10:13:34

              Avant d'afficher les sujets, tu fais:
              while ($donneesSujet = mysql_fetch_array($resultatSujet))

              au lieu de:
              while ($donneesSujet = mysql_fetch_array($retour))
              • Partager sur Facebook
              • Partager sur Twitter
                31 août 2006 à 0:52:00

                C'est bon, j'ai retravaillé le code, c'est pas super bien codé mais bon :lol: ça marche :

                <?php
                //Ne pas oublier de mettre le session_start()
                session_start();

                //On vérifie que le membre est connecté.
                if (isset($_SESSION['logged']) && $_SESSION['logged'] === true)
                {
                   //Mettez ici votre code xhtml (et php)
                   //Exemple : affichage du lien de déconnection et du pseudo.

                ?><html>
                <head>
                <title>Forum</title>
                </head>

                <body>
                <?php include("haut.php");
                include("dateetheure.php");
                include("menu.php"); ?>
                <div class="sujetsforum">
                <p class="nouveausujet">
                  <a class="liendeconnexion" href="deconnexion.php">Se déconnecter</a> <br /><br />
                  <a class="nouveausujet" href = "ajouterSujet.php">Nouveau</a>
                </p>
                <table>

                <div class="forumpage">
                <?php
                // Connexion à la BD



                mysql_connect ('localhost', '', '');
                mysql_select_db ('');

                // Recherche des sujets existants

                $nombreDeMessagesParPage = 15; // Essayez de changer ce nombre pour voir :o)

                // On récupère le nombre total de messages
                $retournombremessage = mysql_query('SELECT COUNT(*) AS nb_messages FROM sujet');
                $donnees = mysql_fetch_array($retournombremessage);
                $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="sujets.php?page=' . $i . ' " > ' . $i . '</a>';
                } ?></div><br />

                <?php
                // --------------- Etape 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;

                $retour = mysql_query('SELECT * FROM sujet ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);

                while ($donneesSujet = mysql_fetch_array($retour))
                {
                ?>

                <tr>
                  <td>
                    <ul><li><a href = "voirSujet.php?sujet=<?php echo $donneesSujet['id']; ?>"><?php echo $donneesSujet['titre']; ?></a> par <b><?php echo $donneesSujet['auteur']; ?></li></ul></b>
                  </td>
                </tr>
                <?php
                  }
                ?>

                </table></div><br />
                <?php include("bas.php"); ?><br /><br /><br />
                <?php include("connectes.php"); ?><br />
                </body>
                </html>
                <?php

                }

                else
                {
                include('indexpagemembre.php');
                } ?>


                Merci à tous !
                • Partager sur Facebook
                • Partager sur Twitter

                Forum

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown