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

Langage PHP Discussion :

Php : Afficher un billet


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Femme Profil pro
    Demandeur d'emploi
    Inscrit en
    Juillet 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Demandeur d'emploi

    Informations forums :
    Inscription : Juillet 2017
    Messages : 5
    Par défaut Php : Afficher un billet
    Bonjour à tous,

    Il s'agit de mon premier post :

    Je souhaiterais faire "une requête" et pouvoir afficher, le "billet complet" sur une nouvelle page (lorsqu'on clique sur le bouton "Détail du billet" ).
    Ma connexion à la base de donnée est bien établie depuis la page "index.php", mais pas depuis la page "detailBillet.php".

    Le code a en effet été morcelé avec Bootstrap.

    Il y a également le système de commentaires, mais ce sera dans un deuxième temps...

    Voici ma structure :
    Nom : stucture.PNG
Affichages : 202
Taille : 11,2 Ko

    Voici mon MCD :
    Nom : mcd.PNG
Affichages : 198
Taille : 54,4 Ko

    Voici mon code :
    detailBillet.php

    Ma page "d'accueil" ressemble a ceci :
    Nom : d.PNG
Affichages : 198
Taille : 11,7 Ko

    Je vous remercie d'avance pour les aides.

  2. #2
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Par défaut
    déjà :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     include './config/connexion.php');
    rien que ça, y a des chances que cela ne marche pas bien.
    Ensuite, dans ta page detail, tu ne reçois aucune information concernant la sélection du billet choisi.
    du coup,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    	$requete = $bdd->query('SELECT id_bil, nom, prenom, titre, contenu, DATE_FORMAT(date, \'%d/%m/%Y à %Hh%i\') AS date_creation_fr 
      	FROM billet  AS a, auteur AS b 
      	WHERE a.id_aut = b.id_aut 
      	ORDER BY date DESC AND id_bil = ?');
    il faudrait gérer dans la page précédente un input hidden par billet avec l'id de ton billet, comme ça tu pourras sélectionner un seul billet, celui choisi par l'utilisateur. Puis intégrer l'id dans ta requête de sélection.
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  3. #3
    Membre à l'essai
    Femme Profil pro
    Demandeur d'emploi
    Inscrit en
    Juillet 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Demandeur d'emploi

    Informations forums :
    Inscription : Juillet 2017
    Messages : 5
    Par défaut Afficher un billet
    Bonjour Vil'Coyote et merci de ton retour,
    J'ai résolu l'affichage du billet, et voici le code :

    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
     
    <?php 
     
    include(dirname(__FILE__).'/../../../config/connexion.php'); 
    include(dirname(__FILE__).'/../../../inc/header.php'); 
    ?>
     
    <body> 
      <div class="container">
        <div class="blog-header">
          <img src="/projet3/image/banner.png" alt="banner"/>        
        </div>
        <br/>
     
      <div class="row">
        <section class="col-sm-8" style="background-color:red;">
        <?php
     
     
     
     
    	$billet=array();
    	//Récupération du billet
    	$requete = $bdd->query('SELECT * FROM billet WHERE id_bil='.$_GET["id_bil"]);
     
    	//var_dump($bdd);
     
    	while ($detailbillet = $requete->fetch()):
     
     
    ?>
     
     
    <div class="blog-post">
      <h2 class="blog-post-title">
        <?php echo htmlspecialchars($detailbillet->titre); ?>
      </h2>
      <p class="blog-post-meta">
        <?php echo ($detailbillet->date);?> 
      </p>
      <p>
        <?php echo htmlspecialchars($detailbillet->contenu) ?>
      </p>
      <!-- Intégrer l'id dans le bouton -->
       <em class="pull-right"><a href="commentaire.php?billet=<?php echo $detailbillet->id_bil; ?>">Commenter ce billet</a></em>
    </div><!-- /.blog-post -->
     
     
     <?php
      endwhile; //Fin de la boucle du billet
      $requete->closeCursor();
    ?>


    Maintenant sans Framework, juste en dessous de mon billet, j'aimerais afficher les commentaires.
    1) Est-il possible de faire des commentaires imbriqués sans Framework ?
    2) Il y a effectivement une erreur dans le MCD, c'est l'id_bil qui se trouve dans ma table commentaire, et non l'id_com dans la table billet.

    Voici le code :

    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
     
    <h3>Autres commentaires</h3>
     
    <?php
    // Récupération des commentaires
     
    $requete = $bdd->prepare('SELECT message, pseudo, DATE_FORMAT(date, \'%d/%m/%Y à %Hh%i\') AS date_commentaire_fr 
      FROM commentaire 
      WHERE id_bil = ? ORDER BY date_commentaire_fr') LIMIT(0,3);
     
      //var_dump($bdd);
      while ($commentaire = $requete->fetch()):
     
    ?>
     
    <div class="blog-com">
      <p class="blog-post-meta">
        <?php echo ($commentaire->date_creation_fr);?> par echo <? echo htmlspecialchars($commentaire->pseudo);?></a>
      </p>
      <p>
        <?php echo htmlspecialchars($commentaire->message); ?>
      </p>
      <p class="pull-right"><a href="commentaire.php">Répondre à ce message</a></p>
    </div> <!-- /.blog-com-->
     
    <?php
      endwhile; //Fin de la boucle des commentaires
      $requete->closeCursor();
    ?>

    Et voici le code de mon formulaire :

    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
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
     
    <?php 
     
      include(dirname(__FILE__).'/../../../config/connexion.php'); 
      include(dirname(__FILE__).'/../../../inc/header.php'); 
    ?>
     
    <body> 
      <div class="container">
        <div class="blog-header">
          <img src="/projet3/image/banner.png" alt="banner"/>        
        </div>
        <br/>
     
      <div class="row">
        <section class="col-sm-8">
     
         <h1>Commenter : </h1><hr><br />
     
    <form method="POST"  class="well"> <!--Je renvoie la page sur elle-même -->
     
      <div class="form-group">
        <label for="pseudo">Pseudo :</label>
        <input type="text" name="pseudo" class="form-control" placeholder="Votre pseudo" required>
      </div>
     
      <div class="form-group">
        <label for="email">Email :</label>
        <input type="text" name="email" class="form-control" placeholder="user@gmail.com" required>
      </div>
     
      <div class="form-group">
        <label for="message">Votre message :</label>
        <textarea name="message" rows="3" class="form-control" placeholder="Votre message ici..." required></textarea>
      </div>
     
     
      <button class="btn btn-primary" type="submit" name="id_com" value="<?=$_GET['billet'];?>"><span class="glyphicon glyphicon-ok-sign"></span> Envoyer le commentaire </button>
     
     
    </form>
     
    </section>
     
     
     
    <?php
    //On vérifie s'il y a bien un contenu dans notre commentaire
    // Et qu'elle n'est pas vide
     
    if(isset($_POST['message']) && !empty($_POST['message']))
     { 
      echo "a";
      $requete = $bdd->prepare('INSERT INTO commentaire SET (message, mail, pseudo, valid, id_bil, date) VALUES (?, ?, ?, ?, NOW()');
      $requete->execute[htmlspecialchars($_POST['message']),  htmlspecialchars($_POST['pseudo']), htmlspecialchars($_POST['pseudo']), htmlspecialchars($_POST['valid = 0']), htmlspecialchars($_POST['date'])]);
      //var_dump($bdd)
     
     
     
       while ($billet = $requete->fetch()):
       $requete->closeCursor();
      echo "b";
       // Redirection du visiteur vers la page detailBillet
        header('Location: /projet3/frontoffice/billet/detailBillet.php?id_bil='. $_POST['id_bil']);
     
      }
     
     
     include(dirname(__FILE__).'/../../../inc/sidebar.php'); ?>
     
    </div> <!-- Row -->
    </div> <!-- Container -->
     
    <?php
     
      include(dirname(__FILE__).'/../../../inc/footer.php'); 
     
    ?>
    </body>
    Et voici l'erreur affiché :
    Nom : erreur.PNG
Affichages : 166
Taille : 10,2 Ko


    Je te suis reconnaissante d'avoir pris le temps de répondre.

  4. #4
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $requete = $bdd->prepare('INSERT INTO commentaire SET (message, mail, pseudo, valid, id_bil, date) VALUES (?, ?, ?, ?, NOW())');
    1) Est-il possible de faire des commentaires imbriqués sans Framework ?
    un framework est une aide au developpement. il contient des fonctions, des objets, de la mise en page etc .... permettant d'aller potentiellement plus vite. donc oui sans utiliser de framewrok tu peux afficher des données. tu le fait déjà avec ton billet, il te suffit d'afficher la table de commentaire.
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  5. #5
    Membre à l'essai
    Femme Profil pro
    Demandeur d'emploi
    Inscrit en
    Juillet 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Demandeur d'emploi

    Informations forums :
    Inscription : Juillet 2017
    Messages : 5
    Par défaut
    Bonsoir Vil'Coyote,

    Les réponses sont très rapides ICI, merci !
    Pour Les Frameworks, je ne suis pas encore à l'aise avec l'utilisation de Git.
    J'ai donc un peu avancé, je suis toujours dans l'enregistrement de mes commentaires, et voici le nouveau message d'erreur à la dernière ligne, ligne 74.
    Je ne vois pas à quoi ça correspond...

    Nom : erreur_ligne74.PNG
Affichages : 169
Taille : 10,6 Ko

    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
    68
    69
    70
    71
    72
    73
    74
    <?php 
     
      include(dirname(__FILE__).'/../../../config/connexion.php'); 
      include(dirname(__FILE__).'/../../../inc/header.php'); 
    ?>
     
    <body> 
      <div class="container">
        <div class="blog-header">
          <img src="/projet3/image/banner.png" alt="banner"/>        
        </div>
        <br/>
     
      <div class="row">
        <section class="col-sm-8">
     
         <h1>Commenter : </h1><hr><br />
     
    <form method="POST"  class="well"> <!--Je renvoie la page sur elle-même -->
     
      <div class="form-group">
        <label for="pseudo">Pseudo :</label>
        <input type="text" name="pseudo" class="form-control" placeholder="Votre pseudo" required>
      </div>
     
      <div class="form-group">
        <label for="email">Email :</label>
        <input type="text" name="email" class="form-control" placeholder="user@gmail.com" required>
      </div>
     
      <div class="form-group">
        <label for="message">Votre message :</label>
        <textarea name="message" rows="3" class="form-control" placeholder="Votre message ici..." required></textarea>
      </div>
     
     
      <button class="btn btn-primary" type="submit" name="id_com" value="<?=$_GET['billet'];?>"><span class="glyphicon glyphicon-ok-sign"></span> Envoyer le commentaire </button>
     
     
    </form>
     
    </section>
     
     
     
    <?php
    //On vérifie s'il y a bien un contenu dans notre commentaire
    // Et qu'elle n'est pas vide
     
    if(isset($_POST['message']) && !empty($_POST['message']))
     { 
      echo "a";
      $requete = $bdd->prepare('INSERT INTO commentaire SET (message, mail, pseudo, valid, id_bil, "date") VALUES (?, ?, ?, ?, NOW()');
      $requete->execute(htmlspecialchars($_POST['message']),  htmlspecialchars($_POST['pseudo']), htmlspecialchars($_POST['pseudo']), htmlspecialchars($_POST['valid']), htmlspecialchars($_POST['date']));}
      //var_dump($bdd)
     
     
       while ($commentaire = $requete->fetch()):
       $requete->closeCursor();
      echo "b";
       // Redirection du visiteur vers la page detailBillet
        header('Location: /projet3/frontoffice/billet/detailBillet.php?id_bil='. $_POST['id_bil']);
     
     include(dirname(__FILE__).'/../../../inc/sidebar.php'); ?>
     
    </div> <!-- Row -->
    </div> <!-- Container -->
    </body>
     
    <?php
     
      include(dirname(__FILE__).'/../../../inc/footer.php'); 
     
    ?>
    Merci d'avance.

  6. #6
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Par défaut
    faut voir le contenu de ton footer.php.
    par contre si ta page est déjà incluse dans une autre les balise body sont de trop ou mal placée
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Javascript][php]afficher/cacher lignes tableau
    Par bouba83 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 28/12/2006, 13h55
  2. [Système] PHP : Afficher contenu fichier Excel
    Par AliochaBada dans le forum Langage
    Réponses: 1
    Dernier message: 04/12/2006, 23h53
  3. [MySQL] PHP afficher a partir d'une liste déroulante
    Par marie4449 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 24/11/2006, 09h00
  4. Réponses: 2
    Dernier message: 12/07/2006, 11h13
  5. Réponses: 2
    Dernier message: 09/09/2005, 10h06

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