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. 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
    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

        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

          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. 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. 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