Stocker avis dans bdd + lisible sur site

Bonjour,
Quelqu'un aurait une idée de comment je pourrais creer une database qui stocke des avis clients mais lisible par tous sur un site ou jautre je sais pas...
Genre il y aurais la bdd qui stocke les avis, les clients peuvent poster un avis à chaque fois et lire ceux des autres, mais je sais pas par ou commencer en fait :(

Faudrais que les avis soit bien visible selon sa catégorie, Mais surtout que l'on puisse déposer un avis et le voir instantanément après (mais OU ? :( )

6 réponses

  1. bonjour ohklik

    Pour faire ce que vous voulez il faire des codes en Ajax.
    Je pense que je peux vous aider.

    1)Il faut faire la connexion à la base de données
    $BDD_ADRESSE = "mysql:host=127.0.0.1";
    $BDD_DBNAME = "ma_table";
    $BDD_LOGIN = "root";
    $BDD_PASSWORD = "";

    <?php
    // connexion à la base de données
    try {
    $bdd = new PDO("$BDD_ADRESSE;dbname=$BDD_DBNAME", $BDD_LOGIN, $BDD_PASSWORD);
    } catch(Exception $e) {
    exit('Impossible de se connecter à la base de données.');
    }

    // exécution de la requête
    $resultat = $bdd->query($requete) or die(print_r($bdd->errorInfo()));
    ?>

    2) mettre le formulaire
    3) faire la requête insert into
    4) faire la requête SELECT et affichage

    Je prépare un modelé et je vous l'envoie
    1
    1. Bonjour ohklik

      Je pense que ces codes devraient vous aider.
      Dans mon exemple, une liste de message s'affiche dans la page.

      Pour que les codes soient plus lisibles je les envoie séparément

      Page qui donne le menu principal
      Nom include_menu.php

      <div class="btn-group">
      <table><tr><td>
      <input type="button" class="menu_button" value="Messages" onclick="location='page_messages.php'" />
      <input type="button" class="menu_button" value="Statistiques" onclick="location='page_statistiques.php'" />
      <input type="button" class="menu_button" value="Problèmes" onclick="location='page_problemes.php'" />
      <input type="button" class="menu_button" value="Appels" onclick="location='page_appels.php'" />
      <input type="button" class="menu_button" value="ReseauXL" onclick="location='page_reseau.php'" />
      <input type="button" class="menu_button" value="1012.nc" onclick="window.open('http://www.1012.nc/index.php?link=2');" />
      <input type="button" class="menu_button" value="logout" onclick="location='page_user_logout.php'" />

      <table>
      <tr>
      <td><input type="button" class="formulaire" value="Ajout Message" onclick="
      document.getElementById('form_ajouter_message').hidden = false;
      document.getElementById('form_ajouter_message_emetteur' ).value = '';
      document.getElementById('form_ajouter_message_destinataire' ).value = '';
      document.getElementById('form_ajouter_message_titre' ).value = '';
      document.getElementById('form_ajouter_message_text' ).value = '';"/>
      </td>
      </tr>
      </table>
      </form>
      </td></tr></table>
      </div>.
      1
      1. Suite

        Page dans laquelle les informations sont affichées + le formulaire


        <?php include "configuration.php"; ?>
        <?php include "include_php_functions.php"; ?>
        <html>
        <head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
        <link rel="SHORTCUT ICON" href="images/xlprog.png" />
        <script src="jquery.min.js"></script>
        </head>
        <body>

        <div id="bloc-fixe-horizontal"><?php include "include_menu.php"; ?></div>
        <div id="contenu-horizontal">
        <div id="bloc-fixe-vertical">

        <?php include "function_ajout_message.php"; ?>

        <table><tr><td>
        <form id="form_ajouter_message" hidden="true">
        <b>Ajouter/Modifier un message</b><br/>
        <table class="form" frame="box">
        </tr><tr>
        <td class="form"> Emetteur </td>
        <td><select id="form_ajouter_message_emetteur" name="form_ajouter_message_emetteur"> </select></td>
        </tr><tr>
        <td class="form"> Destinataire </td>
        <td><select id="form_ajouter_message_destinataire" name="form_ajouter_message_destinataire"> </select></td>
        </tr><tr>
        <td class="form"> Titre </td>
        <td><input type="text" id="form_ajouter_message_titre" value="" /> </td>
        </tr><tr>
        <td class="form"> Text </td>
        <td><textarea id="form_ajouter_message_text" value="" > </textarea> </td>
        </tr><tr>
        <td><input type="button" value="Fermer" onclick="document.getElementById('form_ajouter_message').hidden = true;"/></td>
        <td><input type="button" id="ajouter_message" value="Valider" /></td>
        </tr>
        </table>
        </form>
        </td></tr></table>

        </div> <!-- end <div id="bloc-fixe-vertical"> -->
        <div id="contenu-vertical">
        <br/>
        <center>
        <input type="button" value="Ticket cloturés" onclick="location='page_tickets_clotures.php'">
        </center>
        <?php include "liste_messages.php"; ?>
        </div>

        </body>
        </html>
        1
        1. Suite

          Pour enregistrer les messages
          page_message_ajouter_action.php

          <?php include "configuration.php"; ?>
          <?php
          $emetteur = $_REQUEST["emetteur" ];
          $destinataire = $_REQUEST["destinataire" ];
          $titre = $_REQUEST["titre" ];
          $text = $_REQUEST["text" ];

          $requete = "insert into messages
          (`id`,
          `datetime`,
          `titre`,
          `id_tick_user`,
          `id_destinataire`,
          `text`
          VALUES ( NULL ,
          Now() ,
          '" . $titre . "' ,
          '" .$emetteur . "' ,
          '" .$destinataire . "' ,
          '" .$text. "' ,
          1 );";

          include "bdd_connect_execute.php";
          echo "success";
          //header('Location: page_messages.php');

          ?>

          il faut aussi
          function_ajout_message.php


          <script src="jquery.min.js"></script>
          <script>
          $(document).ready(function() {
          function chargeListeEmetteurs2() {
          $.ajax({
          url : 'service_users.php'
          })
          .done(function(data) {
          var result = JSON.parse(data);
          text = "<option></option>";
          for (var key in result) {
          if (result.hasOwnProperty(key)) {
          text += "<option value='" + key + "'>" + result[key] + "</option>";
          }//end if
          }//end for
          $('#form_ajouter_message_emetteur').html(text);
          })
          .fail(function() {
          alert( "error" );
          });
          }//end function

          chargeListeEmetteurs2();

          function chargeListeDestinataires() {
          $.ajax({
          url : 'service_users.php'
          })
          .done(function(data) {
          var result = JSON.parse(data);
          text = "<option></option>";
          for (var key in result) {
          if (result.hasOwnProperty(key)) {
          text += "<option value='" + key + "'>" + result[key] + "</option>";
          }//end if
          }//end for
          $('#form_ajouter_message_destinataire').html(text);
          })
          .fail(function() {
          alert( "error" );
          });
          }//end function

          chargeListeDestinataires();

          //execute quand click sur bouton ajouter_probleme
          $('#ajouter_message').on('click', function() {
          $.ajax({
          url : 'page_message_ajouter_action.php',
          data: { 'emetteur' : $("#form_ajouter_message_emetteur" ).val(),
          'destinataire' : $("#form_ajouter_message_destinataire" ).val(),
          'titre' : $("#form_ajouter_message_titre" ).val(),
          'text' : $("#form_ajouter_message_text" ).val()
          }
          })
          .done(function(data) {
          document.getElementById('form_ajouter_message').hidden = true;
          })
          .fail(function() {
          alert( "error" );
          });
          });
          });//$(document).ready(function()
          </script>

          NB les listes déroulantes seront vides car je ne peux pas vous passer les tables, à vous de les créer.
          1
          1. suite

            La liste des messages
            liste_messages.php


            <?php include "configuration.php"; ?>
            <?php
            echo "<center>";
            echo "<table BORDER=1 CELLPADDING=3 CELLSPACING=1 RULES=ROWS FRAME=BOX>";
            echo " <tr><th colspan=10>TABLE LISTE MESSAGES</th></tr>";
            echo " <tr>";
            echo " <th hidden> <b>id </b></th>";
            echo " <th> <b>Date </b></th>";
            echo " <th> <b>Destinataire </b></th>";
            echo " <th> <b>Titre </b></th>";
            echo " <th> <b>Message </b></th>";
            echo " </tr>";

            $requete = "SELECT messages.id ,
            DATE(messages.datetime) AS 'DATE' ,
            messages.titre AS 'Titre' ,
            messages.text AS 'Message' ,
            statut_message.nom AS 'Statut' ,
            tick_users.login AS 'Destinataire'
            FROM tick_users ,
            statut_message ,
            messages
            WHERE messages.id_destinataire = tick_users.id
            AND messages.id_statut = statut_message.id
            ORDER BY messages.datetime DESC;";

            //AND messages.id_destinataire = '$tick_users.id'

            include "bdd_connect_execute.php";
            $html = "";
            while($donnees = $resultat->fetch(PDO::FETCH_ASSOC)) {
            $html .= "<tr id=\"" .$donnees["id" ]."\" onclick=\"message_clicked(this.id);\">";
            $html .= "<td hidden>" .$donnees["id" ]."&nbsp  </td> ";
            $html .= "<td>" .$donnees["DATE" ]."&nbsp  </td> ";
            $html .= "<td>" .$donnees["Destinataire" ]."&nbsp  </td> ";
            $html .= "<td width=200>" .$donnees["Titre" ]."&nbsp  </td> ";
            $html .= "<td width=400>" .$donnees["Message" ]."&nbsp  </td> ";
            $html .= "</tr>";
            $html .= "\n";
            }//end while

            // envoi du résultat
            echo $html;
            echo "</tavle";
            echo "</center>";
            ?>
            1
            1. suite et fin

              pour la connexion a la base de donnees
              configuration.php

              <?php
              $BDD_ADRESSE = "mysql:host=127.0.0.1";
              $BDD_DBNAME = "france";
              $BDD_LOGIN = "root";
              $BDD_PASSWORD = "";
              ?>

              Autre page
              bdd_connect_execute.php

              <?php
              // connexion à la base de données
              try {
              $bdd = new PDO("$BDD_ADRESSE;dbname=$BDD_DBNAME", $BDD_LOGIN, $BDD_PASSWORD);
              } catch(Exception $e) {
              exit('Impossible de se connecter à la base de données.');
              }

              // exécution de la requête
              $resultat = $bdd->query($requete) or die(print_r($bdd->errorInfo()));
              ?>

              Je pense n'avoir rien oublié.
              Bon courage
              1