IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Site web: affichage news et ses commentaires


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    maxratus
    Invité(e)
    Par défaut Site web: affichage news et ses commentaires
    Bonjour,

    Je suis un noob en php et j'essaye de faire un site. Mon problème est donc que je n'arrive pas à afficher les différents commentaires sur chaques pages..
    Quand je récupère la page, la news s'affiche avec les premiers commentaires, mais dès que j'essaye d'atteindre la seconde page, il me mets une erreur au niveau de la news et du commentaires (le billet= disparaît de l'url dès le p2 et je pense que c'est pour cela)

    récupération du billet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    	<?php
    	// Récupération du billet
    	$req = $bdd->prepare('SELECT id, titre, contenu, DATE_FORMAT(date_creation, \'%d/%m/%Y à %Hh%imin%ss\') AS date_creation_fr FROM niouz WHERE id = ?');
    	$req->execute(array($_GET['billet']));
    	$donnees = $req->fetch();
    	?>
     
     
     
    	<div id="corps">
     
     
    	<div class="news">
     
     
        <h3>
            <?php echo htmlspecialchars($donnees['titre']); ?>
            <em>le <?php echo $donnees['date_creation_fr']; ?></em>
        </h3>
     
     
        <p>
        <?php
        echo nl2br(htmlspecialchars($donnees['contenu']));
    	$req->closeCursor(); // Important : on libère le curseur pour la prochaine requête
        ?>
        </p>
     
    	</div>




    Affichage des commentaires
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    <?php
    mysql_connect("localhost", "***", "***");
    mysql_select_db("****");
     
    // On met dans une variable le nombre de messages qu'on veut par page
    $nombreDeMessagesParPage = 3; // Essayez de changer ce nombre pour voir :o)
    // On récupère le nombre total de messages
    $retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM commentaires');
    $donnees = mysql_fetch_array($retour);
    $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="commentaires.php?page=' . $i . '">' . $i . '</a> ';
    }
    ?>
     
    </p>
     
    <?php
     
    if (isset($_GET['page']))
    {
            $page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse 
    }
    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;
     
    	?>
     
     
     
     
     
     
     
     
     
     
    	<h2>Commentaires</h2>
     
    	<?php
    	// Récupération des commentaires
    	$req = $bdd->prepare('SELECT redacteur, contenu, DATE_FORMAT(date_commentaire, \'%d/%m/%Y à %Hh%imin%ss\') AS date_commentaire_fr FROM commentaires WHERE id_niouz = ? ORDER BY date_commentaire, id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);
    	$req->execute(array($_GET['billet']));
     
    	while ($donnees = $req->fetch())
    	{
    	?>
     
    	<div id ="livredor">
     
    	<p><strong><?php echo htmlspecialchars($donnees['redacteur']); ?></strong> le <?php echo $donnees['date_commentaire_fr']; ?></p>
    	<p><?php echo nl2br(htmlspecialchars($donnees['contenu'])); ?></p>
    	</div>
    	<?php
    	} // Fin de la boucle des commentaires
    	$req->closeCursor();
    	?>

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 70
    Par défaut
    bonsoir,

    et si tu nous montré l'erreur ?

    Cordialement

  3. #3
    maxratus
    Invité(e)
    Par défaut
    l'erreur est qu'il m'indique que la variable "get [billet] disparait dès que je passe à la deuxième page des commentaires!

    donc message d'erreur pour: la news car il ne retrouve plus l'id, qui est au départ dans l'url et idem pour les commentaires car il ne retrouve pas les commentaires rattaché à ce billet

    url quand j'arrive sur la page: http://localhost/site_web/commentaires.php?billet=56

    et dès que j'essaye d'atteindre la première page : http://localhost/site_web/commentaires.php?page=1

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ajoute le billet manquant a ton lien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     echo '<a href="commentaires.php?billet=' . $_GET['billet'] . '&page=' . $i . '">' . $i . '</a> ';
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    maxratus
    Invité(e)
    Par défaut
    Tout simplement -_- en même temps avec la tête dessus 12 heure par jours...


    En tout cas merci beaucoup de ton aide

Discussions similaires

  1. PB d'affichage site web en ligne et en local
    Par Tétra Citron dans le forum Dépannage et Assistance
    Réponses: 10
    Dernier message: 22/02/2007, 20h18
  2. Pb avec mon site web et son affichage
    Par cyberdevelopment dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 10/08/2006, 16h03
  3. Gestion de commentaires sur site web
    Par Gui N. dans le forum Administration
    Réponses: 0
    Dernier message: 22/06/2006, 11h53
  4. [Upload]utilitaire de gestion de site web: affichage d'image
    Par CR_Gio dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 02/04/2006, 01h57
  5. affichage site web
    Par diopy2001 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 12
    Dernier message: 30/12/2005, 12h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo