slt a tous , moi c'est jesbeer nguimatio, je suis etudiant au cameroun. bon je suis entrain de creer un systeme de messagerie pour mon site et ca fais ds jour que je suis bloqué sur un point . je me redirige sur ce forum en esperan trouver solution.
pour ce systeme de messagerie j'utilise ajax et jquery, ensuite php. ce systeme ce fait de maniere dynamique, je veux pouvoir afficher tout les messsage envoyé a l'instant et charger les ancien message. le probleme se pose au niveau de l'affichage des ancien message et il y'a une lenteur dans l'affichage. par exemple , si A envoie un message a B , il faut que B ait envoyé un message a A pour qu'il que B recoive l'ancien message envoyé par A. sur ce pour resoudre ce probleme , je ne sais quoi faire, voici mon code:::
pour ce systeme de messagerie j'utilise ajax et jquery, ensuite php. ce systeme ce fait de maniere dynamique, je veux pouvoir afficher tout les messsage envoyé a l'instant et charger les ancien message. le probleme se pose au niveau de l'affichage des ancien message et il y'a une lenteur dans l'affichage. par exemple , si A envoie un message a B , il faut que B ait envoyé un message a A pour qu'il que B recoive l'ancien message envoyé par A. sur ce pour resoudre ce probleme , je ne sais quoi faire, voici mon code:::
if (isset($_POST['submit'])) {
# code...
if (isset($_POST['conversation'] )) { // variable du message envoyé par ajax
if (isset($_SESSION['id_dest'])) { // id du destinataire
# code...
$get_conversation=htmlspecialchars($_POST['conversation']);
$id_dest=$_SESSION['id_dest'];
//insertion du message dans ma base
$envoi=$bdd->prepare("INSERT INTO messagerie values('',?,?,?,NOW())");
$envoi->execute(array($_SESSION['id_connecter'],$id_dest,$get_conversation));
if (!$envoi) {
die("Erreur au niveau de l'envoie");
}
else{
?>
<script >
$(function () {
$('#conversation').val('')
})
</script>
<?php
//recuperation de l'id pour afficher un seul message envoye
$get_id=$bdd->prepare("SELECT id from messagerie where id_envoie=? and id_destinataire=? and messages=? ");
$get_id->execute(array($_SESSION['id_connecter'],$id_dest,$get_conversation));
$get_id=$get_id->fetch();
$id=$get_id['id'];
echo $id;
//ici le message a enver
$affiche=$bdd->prepare('SELECT * from messagerie where id_envoie=? and id_destinataire=? order by date_envoie desc');
$affiche->execute(array($_SESSION['id_connecter'],$_SESSION['id_dest']));
// reuquete du message a recevoir
$get_me=$bdd->prepare('SELECT * from messagerie where id=? and id_destinataire=? and id_envoie=? order by date_envoie desc');
$get_me->execute(array($id,$_SESSION['id_connecter'],$id_dest));
//affichage de tout les message dynamiquement
while($affich=$affiche->fetch() and $me=$get_me->fetch()){
if (isset($affich['messages']) ) {
?>
//les messages recu
<div class="affiche">
<?= $affich['messages'] ?>
</div><br><br><br><?php
} ?>
//ici les message envoyé
<?php if (isset($me['messages']) ) {
?><div class="me">
<?=$me['message] ?>
</div><br><br><br>
<?php
?>
<?php
}