|
|
|
|
Bonjour à tous,
J'ai récupéré et modifié un script de mini chat, mais depuis que je veux afficher des réponses SQL, à la place de ce qu'il y a dans un fichier txt, plus rien ne marche.
je suis spécialement mauvais en Ajax, donc si quelqu'un pouvais m'aider un peu ça serrai super :)
<?php
function afficher()
{
mysql_connect("localhost", "root", "");
mysql_select_db("chat");
$reponse = mysql_query("SELECT * FROM minichat");
while ($donnees = mysql_fetch_array($reponse))
{
echo $donnees['name'];
}
mysql_close();
}
require_once('./xajax_core/xajax.inc.php');
$xajax = new xajax();
$xajax->register(XAJAX_FUNCTION, 'afficher');
$xajax->processRequest();
?>
<html>
<head>
<title>Chat xAjax</title>
<?php $xajax->printJavascript();?>
<script type="text/javascript">
function refresh()
{
xajax_afficher();
setTimeout(refresh, 5000);
}
</script>
</head>
<body>
<div id="block"></div>
<?php include "form.php"; ?>
<script type="text/javascript">
refresh();
</script>
</body>
</html>
function afficher()
{
$reponse = new xajaxResponse();
$chat = '';//Initialisation de la variable $chat
$fichier_texte = fopen('./chat.txt', 'r');
$chat = fread($fichier_texte, filesize('./chat.txt'));
fclose($fichier_texte);
$reponse->assign('block', 'innerHTML', $chat);
return $reponse;
}
Configuration: Windows XP Firefox 2.0.0.15
Merci pour la réponse :)
|
Enfait, je cherche juste le moyen d'actualiser automatiquement l'affichage des messages, se trouvant dans ma base de donnée.
|
// retourne un objet xmlHttpRequest.
// méthode compatible entre tous les navigateurs (IE/Firefox/Opera)
function getXMLHTTP(){
var xhr=null;
if(window.XMLHttpRequest) // Firefox et autres
xhr = new XMLHttpRequest();
else if(window.ActiveXObject){ // Internet Explorer
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e1) {
xhr = null;
}
}
}
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
}
return xhr;
}
var _xmlHttp = null; //l'objet xmlHttpRequest utilisé pour contacter le serveur
var _adresseRecherche = "Tonfichier.php" //l'adresse à interroger
function getData(){
if(_xmlHttp&&_xmlHttp.readyState!=0){
_xmlHttp.abort()
}
_xmlHttp=getXMLHTTP();
if(_xmlHttp){
//appel à l'url distante
_xmlHttp.open("GET",_adresseRecherche,true);
_xmlHttp.onreadystatechange=function() {
if(_xmlHttp.readyState==4&&_xmlHttp.responseText) {
alert(_xmlHttp.responseText) ; //Le contenu est renvoyé dans la propriété _xmlHttp.responseText :)
}
};
// envoi de la requête
_xmlHttp.send(null)
}
}
La fonction javascript getData te renverra le resultat du fichier Tonfichier.php :) |
Bon, alors :)
|
Je fais des efforts mais franchement je comprends rien dans cette langue "lol" :P
<script type="text/javascript">
// retourne un objet xmlHttpRequest.
// méthode compatible entre tous les navigateurs (IE/Firefox/Opera)
function getXMLHTTP()
{
var xhr=null;
if(window.XMLHttpRequest) // Firefox et autres
xhr = new XMLHttpRequest();
else if(window.ActiveXObject)// Internet Explorer
{
try
{
xhr = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e1)
{
xhr = null;
}
}
}
else // XMLHttpRequest non supporté par le navigateur
{
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
}
return xhr;
}
var _xmlHttp = null; //l'objet xmlHttpRequest utilisé pour contacter le serveur
var _adresseRecherche = "chat.php" //l'adresse à interroger
function getData()
{
if(_xmlHttp&&_xmlHttp.readyState!=0)
{
_xmlHttp.abort()
}
_xmlHttp=getXMLHTTP();
if(_xmlHttp)
{
//appel à l'url distante
_xmlHttp.open("GET",_adresseRecherche,true);
_xmlHttp.onreadystatechange=function()
{
if(_xmlHttp.readyState==4&&_xmlHttp.responseText)
{
document.getElementById( 'block' ) = _xmlHttp.responseText ;
}
};
// envoi de la requête
_xmlHttp.send(null)
}
}
getData();
</script>
<html><body><div id='block'> </div></body></html>
Encore un peu d'aide ? O:-) Merci encore pour tout, dans tout les cas j'ai énormément avancé grâce à toi. |
Aucun problème ! Voici la clé de ton bonheur :
|
Merci pour tes réponses :)
<script type="text/javascript">
// retourne un objet xmlHttpRequest.
// méthode compatible entre tous les navigateurs (IE/Firefox/Opera)
function getXMLHTTP()
{
var xhr=null;
if(window.XMLHttpRequest) // Firefox et autres
xhr = new XMLHttpRequest();
else if(window.ActiveXObject)// Internet Explorer
{
try
{
xhr = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e1)
{
xhr = null;
}
}
}
else // XMLHttpRequest non supporté par le navigateur
{
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
}
return xhr;
}
var _xmlHttp = null; //l'objet xmlHttpRequest utilisé pour contacter le serveur
var _adresseRecherche = "chat.php" //l'adresse à interroger
function getData()
{
if(_xmlHttp&&_xmlHttp.readyState!=0)
{
_xmlHttp.abort()
}
_xmlHttp=getXMLHTTP();
if(_xmlHttp)
{
//appel à l'url distante
_xmlHttp.open("GET",_adresseRecherche,true);
_xmlHttp.onreadystatechange=function()
{
if(_xmlHttp.readyState==4&&_xmlHttp.responseText)
{
document.getElementById( 'block' ) = _xmlHttp.responseText ;
}
};
// envoi de la requête
_xmlHttp.send(null)
}
}
window.onload = getData();
</script>
<html>
<body>
<div id='block'> </div>
</body>
</html>
chat.php: <?php echo 'test1'; ?> <p>test2</p> |
C'est fait, j'ai remonté la balise <html>, j'ai mis le script entre les balises <head> et mon div id="block" dans le <body>, et j'ai également rajouter le <title> au cas ou;
|
Yeah !!
|
Hello, permettez moi de m'incruster.
|