par
Luffy » 25 avr. 2012, 16:49
Bonjour, ce sujet m'interesse grandement

Je cherche de partout mais je ne trouve rien d'autre que ce post
Si quelqu'un pourrait m'aider ce serait super sympas car justement je veux afficher les derniers messages en haut et non en bas comme c le cas avec mon code!
Voici le code js :
Code : Tout sélectionner
var url="tchatAjax.php";
var lastid=0;
var timer = setInterval(getMessages,5000);
var ctimer = setInterval(getConnected,10000);
$(function(){
getConnected();
$("#tchatform form").submit(function(){
clearInterval(timer)
showLoader("#tchatform");
var message = $("#tchatform form input").val();
$.post(url,{action:"addMessage",message:message},function(data){
if(data.erreur=="ok"){
getMessages();
$("#tchatform form input").val("");
}
else{
alert(data.erreur);
}
timer = setInterval(getMessages,5000);
hideLoader();
},"json");
return false;
})
});
function getMessages(){
$.post(url,{action:"getMessages",lastid:lastid},function(data){
if(data.erreur=="ok"){
$("#tchat").append(data.result);
lastid=data.lastid;
}
else{
alert(data.erreur);
}
},"json");
return false;
}
function getConnected(){
$.post(url,{action:"getConnected"},function(data){
if(data.erreur=="ok"){
$("#connected").empty().append(data.result);
}
else{
alert(data.erreur);
}
},"json");
return false;
}
function showLoader(div){
$(div).append('<div class="loader"></div>');
$(".loader").fadeTo(500,0.6);
}
function hideLoader(){
$(".loader").fadeOut(500,function(){
$(".loader").remove();
});
}
Et voici le code PHP qui lit les messages ajax :
Code : Tout sélectionner
/**
*Actio : getMessages
*Permet l'affichage des derniers messages
**/
if($_POST["action"] =="getMessages"){
$rangcouleur = array(
"1" => "admin",
"2" => "supmodo",
"3" => "modo",
"4" => "vip",
"5" => "uploader",
"6" => "power",
"7" => "user",
);
$lastid = floor($lastid);
$message = ($_POST["action"]);
$sql = ("SELECT Shoutbox.id, Shoutbox.pseudo, Shoutbox.message, Shoutbox.date, users.role_id
FROM Shoutbox LEFT JOIN users ON users.NiCK = Shoutbox.pseudo WHERE Shoutbox.id>$lastid ORDER BY Shoutbox.date DESC");
$req = $PDO->query($sql);
$d["lastid"] = $lastid;
$d["result"] = "";
while ($data = $req->fetch(PDO::FETCH_ASSOC)){
$d["result"].= '<p><span class="'.$rangcouleur[$data["role_id"]].'">'.($data["pseudo"]).'</span> ('.date("d/m/Y H:i:s",$data["date"]).') : '.str_replace( ":)", '<img src="images/nice.png" alt=":)">',''.str_replace( ":(", '<img src="sad.gif" alt=":(">',''.str_replace( ":d", '<img src="images/grin.png" alt=":d">',''.str_replace( ":f", '<img src="images/f.png" alt=":f">',''.str_replace( ":p", '<img src="images/ouf.png" alt=":p">',''.str_replace( ":g", '<img src="images/sceptique.png" alt=":g">',''.str_replace( ":o", '<img src="images/OO.png" alt=":o">',''.str_replace( ":a", '<img src="images/Amour.png" alt=":a">',''.str_replace( ":v", '<img src="images/angry.png" alt=":v">',''.str_replace( ":Murey", '<img src="images/Murey.png" alt=":Murey">',''.str_replace( "XD", '<img src="images/XD.png" alt="XD">',''.str_replace( ":z", '<img src="images/z.png" alt=":z">',''.str_replace( ":smoke", '<img src="images/smoke.png" alt=":smoke">',''.str_replace( ":i", '<img src="images/i.png" alt=":i">',''.str_replace( ";^^", '<img src="images/;^^.png" alt=";^^">',''.str_replace( "OMG", '<img src="images/omg.png" alt="OMG">',''.str_replace( ":y", '<img src="images/yo.png" alt=":y">',''.str_replace( ":wave", '<img src="wavenoir.gif" alt=":wave">',''.str_replace( ";)", '<img src="wink.gif" alt=";)">',''.str_replace( ":suck", '<img src="smiley suce.gif" alt=":suce">',''.str_replace( ":Ange", '<img src="innocent.gif" alt=":Ange">',''.str_replace( ":'(", '<img src="cry.gif" alt=":\'(">',''.str_replace( ":blush", '<img src="blushnoir.gif" alt=":blush">',''.str_replace( ":love:", '<img src="love.gif" alt=":love:">',''.str_replace( ":k", '<img src="kissnoir.gif" alt=":k">',''.str_replace( "OO", '<img src="w00t.gif" alt="OO">',''.str_replace( ":woot:", '<img src="w000t.gif" alt=":woot:">',''.str_replace( ":lol:", '<img src="laugh.gif" alt=":lol:">',''.str_replace( ":-/", '<img src="confused.gif" alt=":-/">',htmlentities(utf8_decode($data["message"]))))))))))))))))))))))))))))))).'</p>';
$d["lastid"] = $data["id"];
}
$d["erreur"]="ok";
}
Bon alors dedans il y a des str_replace pour les smileys et un array pour les class de mes couleurs afin que leurs pseudos apparaissent dans leurs couleurs respectives, mais cela ne gêne en rien mon code, le tchat marche tres bien, je cherche juste a inverser les messages, donc le plus recent en haut et le plus vieux en bas
Merci à ceux qui m'aideront, je suis paumé...
Bonjour, ce sujet m'interesse grandement :) Je cherche de partout mais je ne trouve rien d'autre que ce post :(
Si quelqu'un pourrait m'aider ce serait super sympas car justement je veux afficher les derniers messages en haut et non en bas comme c le cas avec mon code!
Voici le code js : [code]var url="tchatAjax.php";
var lastid=0;
var timer = setInterval(getMessages,5000);
var ctimer = setInterval(getConnected,10000);
$(function(){
getConnected();
$("#tchatform form").submit(function(){
clearInterval(timer)
showLoader("#tchatform");
var message = $("#tchatform form input").val();
$.post(url,{action:"addMessage",message:message},function(data){
if(data.erreur=="ok"){
getMessages();
$("#tchatform form input").val("");
}
else{
alert(data.erreur);
}
timer = setInterval(getMessages,5000);
hideLoader();
},"json");
return false;
})
});
function getMessages(){
$.post(url,{action:"getMessages",lastid:lastid},function(data){
if(data.erreur=="ok"){
$("#tchat").append(data.result);
lastid=data.lastid;
}
else{
alert(data.erreur);
}
},"json");
return false;
}
function getConnected(){
$.post(url,{action:"getConnected"},function(data){
if(data.erreur=="ok"){
$("#connected").empty().append(data.result);
}
else{
alert(data.erreur);
}
},"json");
return false;
}
function showLoader(div){
$(div).append('<div class="loader"></div>');
$(".loader").fadeTo(500,0.6);
}
function hideLoader(){
$(".loader").fadeOut(500,function(){
$(".loader").remove();
});
}[/code]
Et voici le code PHP qui lit les messages ajax :
[code]/**
*Actio : getMessages
*Permet l'affichage des derniers messages
**/
if($_POST["action"] =="getMessages"){
$rangcouleur = array(
"1" => "admin",
"2" => "supmodo",
"3" => "modo",
"4" => "vip",
"5" => "uploader",
"6" => "power",
"7" => "user",
);
$lastid = floor($lastid);
$message = ($_POST["action"]);
$sql = ("SELECT Shoutbox.id, Shoutbox.pseudo, Shoutbox.message, Shoutbox.date, users.role_id
FROM Shoutbox LEFT JOIN users ON users.NiCK = Shoutbox.pseudo WHERE Shoutbox.id>$lastid ORDER BY Shoutbox.date DESC");
$req = $PDO->query($sql);
$d["lastid"] = $lastid;
$d["result"] = "";
while ($data = $req->fetch(PDO::FETCH_ASSOC)){
$d["result"].= '<p><span class="'.$rangcouleur[$data["role_id"]].'">'.($data["pseudo"]).'</span> ('.date("d/m/Y H:i:s",$data["date"]).') : '.str_replace( ":)", '<img src="images/nice.png" alt=":)">',''.str_replace( ":(", '<img src="sad.gif" alt=":(">',''.str_replace( ":d", '<img src="images/grin.png" alt=":d">',''.str_replace( ":f", '<img src="images/f.png" alt=":f">',''.str_replace( ":p", '<img src="images/ouf.png" alt=":p">',''.str_replace( ":g", '<img src="images/sceptique.png" alt=":g">',''.str_replace( ":o", '<img src="images/OO.png" alt=":o">',''.str_replace( ":a", '<img src="images/Amour.png" alt=":a">',''.str_replace( ":v", '<img src="images/angry.png" alt=":v">',''.str_replace( ":Murey", '<img src="images/Murey.png" alt=":Murey">',''.str_replace( "XD", '<img src="images/XD.png" alt="XD">',''.str_replace( ":z", '<img src="images/z.png" alt=":z">',''.str_replace( ":smoke", '<img src="images/smoke.png" alt=":smoke">',''.str_replace( ":i", '<img src="images/i.png" alt=":i">',''.str_replace( ";^^", '<img src="images/;^^.png" alt=";^^">',''.str_replace( "OMG", '<img src="images/omg.png" alt="OMG">',''.str_replace( ":y", '<img src="images/yo.png" alt=":y">',''.str_replace( ":wave", '<img src="wavenoir.gif" alt=":wave">',''.str_replace( ";)", '<img src="wink.gif" alt=";)">',''.str_replace( ":suck", '<img src="smiley suce.gif" alt=":suce">',''.str_replace( ":Ange", '<img src="innocent.gif" alt=":Ange">',''.str_replace( ":'(", '<img src="cry.gif" alt=":\'(">',''.str_replace( ":blush", '<img src="blushnoir.gif" alt=":blush">',''.str_replace( ":love:", '<img src="love.gif" alt=":love:">',''.str_replace( ":k", '<img src="kissnoir.gif" alt=":k">',''.str_replace( "OO", '<img src="w00t.gif" alt="OO">',''.str_replace( ":woot:", '<img src="w000t.gif" alt=":woot:">',''.str_replace( ":lol:", '<img src="laugh.gif" alt=":lol:">',''.str_replace( ":-/", '<img src="confused.gif" alt=":-/">',htmlentities(utf8_decode($data["message"]))))))))))))))))))))))))))))))).'</p>';
$d["lastid"] = $data["id"];
}
$d["erreur"]="ok";
}[/code]
Bon alors dedans il y a des str_replace pour les smileys et un array pour les class de mes couleurs afin que leurs pseudos apparaissent dans leurs couleurs respectives, mais cela ne gêne en rien mon code, le tchat marche tres bien, je cherche juste a inverser les messages, donc le plus recent en haut et le plus vieux en bas :)
Merci à ceux qui m'aideront, je suis paumé...