Stocker avis dans bdd + lisible sur site

ohklik -  
 Delphine -
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. Delphine
     
    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
  2. Delphine
     
    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
  3. Delphine
     
    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
  4. Delphine
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Delphine
     
    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
  7. Delphine
     
    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