RECHERCHER :
COMMUNAUTE MP
Identifiez vous ...
Devenir Membre
J'ai oublié mon MDP
DOMAINE MP
Bavardages
Langages Généraux
Langages Web
Langages DotNet
Autres langages
Dev. Jeux Video
Sécurité
Sys. Exploitation
Graphismes
Logiciels
Réseaux
Bases de données
Méthodologies
Emplois High-tech
Aide juridique
Articles juridiques
FORUM
Index des forums
Ajouter un sujet
Rechercher sujet
Contact Responsable
Devenir modérateur
CHAT MP IRC
Votre pseudo ...
Srv: irc.moteurprog.com
Chan: #MoteurProg
PARTICIPER
Plus de 3500 emplois.
Rechercher un job
Déposez votre CV
Emplois High-tech

Visiteur MP

 Refresh d'1 <DIV>lecture tab MySQL</DIV>

Forum : AJAX
Sous Catégorie : Aucune
Type du sujet : Sujet Normale
FAQ : FAQ AJAX

SUIVI DES SUJETS PAR MAIL

SUIVI PAR MAIL INACTIF

RESOLUTION DU SUJET SUJET NON RESOLU
BLOQUAGE DU SUJET SUJET ACTIF
APPARTENANCE A LA FAQ N'APPARTIENT PAS A LA FAQ


PAGE : [1]

POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

FORUM AJAX

PREMIERE PAGE

PAGE PRECEDENTE

Page précedente

Page suivante

PAGE SUIVANTE

DERNIERE PAGE
ClaireH
Nouveau membre
Inscrit : 21/08/2007
Messages : 5
Message
#141329
Posté le 21/08/07 à 18:11
Bonjour,

J'ai un <DIV> dans lequel j'ai un script PHP classique qui va lire le contenu d'une table MySQL.
Je suis à la recherche d'un script PHP-AJAX qui assurerait le refresh de ce <DIV>.

Actuellement c'est une simple balise meta refresh qui recharge l'ensemble de la page toutes les 5 secondes. Mais le refresh ne se fait plus au bout d'un certain temps et puis graphiquement c'est dépassé, c'est la page entière qui se recharge, c'est bof...

Quelqu'un aurait un script de ce genre? Ce serait super sympa...

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Publicité
Inscrit : X
Messages : X
Message
#Aucun

HAUT DE PAGE

  

bigguiz
Membre MP
Avatar de bigguiz
Inscrit : 27/07/2006
Messages : 235
Message
#141338
Posté le 21/08/07 à 19:02
google est ton ami Smiley

franchement tu trouveras tout ce qu'il te faut sur le net, aprés si tu as des problèmes de compréhension, là le forum intervient...

Personellement je n'aime pas trop aider les gens s'ils ne montrent pas au moins un bout de code qui marche pas.
__________________________
Eoliennes et informatique sur freresguizmo

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

ClaireH
Nouveau membre
Inscrit : 21/08/2007
Messages : 5
Message
#141342
Posté le 21/08/07 à 19:26
Merci pour ta réponse bigguiz

mais avant de poster, j'ai bien sûr recherché dans Google et j'ai tout une tripotée de tuto qui donnent des exemples surtout orienté "traitements de formulaire" ou au mieux un lien à cliquer avec des gestions d'événement alors ça m'a paru inutile de coller un code quelconque.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

bigguiz
Membre MP
Avatar de bigguiz
Inscrit : 27/07/2006
Messages : 235
Message
#141350
Posté le 21/08/07 à 19:42
Bah les principes sont les mêmes...

Tu peux regarder ce sujet, il traite tous les problèmes d'ajax et la personne veut faire la même chose que toi.

ajax
__________________________
Eoliennes et informatique sur freresguizmo

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

ClaireH
Nouveau membre
Inscrit : 21/08/2007
Messages : 5
Message
#141355
Posté le 21/08/07 à 20:02
ok merci bigguiz,
je vais essayer d'adapter et si ça ne marche pas, j'aurai au moins du code à présenter Smiley

allez je m'y colle ce soir, y'a rien de bien à la télé...

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

ClaireH
Nouveau membre
Inscrit : 21/08/2007
Messages : 5
Message
#141358
Posté le 21/08/07 à 20:55
Bon ça se précise, j'ai écris ça:

index.php

<html> <head> <script language="JavaScript" type="text/javascript"> function getXhr() { var req = null; //firefox if (window.XMLHttpRequest) { req = new XMLHttpRequest(); } //ie else if (window.ActiveXObject) { try { req = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { req = new ActiveXObject("Microsoft.XMLHTTP"); } } //non supporté else { alert("Fonction non supportée par le navigateur"); req = false; } return (req); } function getTrack() { var req = getXhr(); req.onreadystatechange = function() { if (req.readyState == 4 && req.status == 200) { var resultat = req.responseText; document.getElementById('div_track').innerHTML=resultat; } }; req.open("GET","lecture.php",true); req.send(null); setTimeout("getTrack()", 5000); } getTrack(); </script> </head> <body> </body> </html>


Le code appelé :
lecture.php

<div id="div_track"> <? $Lien=mysql_connect("localhost","root",""); echo "<table width=auto border=1> <tr> <td width=auto>ref_com</td> <td width=auto>nom</td> </tr>"; $Req="SELECT * FROM commandes WHERE 1 LIMIT 0,10"; $Res = mysql_db_query("restominute",$Req,$Lien) or die('Erreur dans la requete:'.$Req.'<BR>Avec l\'erreur:'.mysql_error()); while ($row = mysql_fetch_array($Res)) { echo "<tr>"; echo "<td valign=top>".$row[ref_com]."</td>"; echo "<td valign=top>".$row[nom]."</td>"; echo "</tr>"; } mysql_close($Lien); echo "</table>"; ?> </div>


j'ai mis le débogueur en route sous IE et j'obtiens le message suivant:
document.getElementById(....) a la valeur Null ou n'est pas un objet
pourtant la balise div est bien déclarée dans lecture.php ?

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

bigguiz
Membre MP
Avatar de bigguiz
Inscrit : 27/07/2006
Messages : 235
Message
#141369
Posté le 22/08/07 à 00:05
En voyant cette erreur je me pose la même question que tout à l'heure, as tu seulement compris comment fonctionne le code que tu as adapté?

Aprés je dis ça pour toi, en comprenant ce que tu écris tu t'évites certainement des heures de débuggage...

Le div ne doit pas être déclaré dans lecture mais dans index.
__________________________
Eoliennes et informatique sur freresguizmo

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

ClaireH
Nouveau membre
Inscrit : 21/08/2007
Messages : 5
Message
#141395
Posté le 22/08/07 à 12:04
Oublions le code que j'ai publié auparavant, j'ai trouvé un script qui a l'air de bien fonctionner et qui est bien expliqué. Malheureusement j'ai des soucis de compatibilité.
Pour ces browser c'est ok : IE7, Opéra, Firefox. Mais je n'arrive à rien avec IE6. La page ne se charge même pas et si je mets en action le débogueur de IE, j'ai le message suivant montrant du doigt le fichier index.php :


Ligne : 51
Car : 49
Erreur :Constante de chaïne non terminée
Code : 0


index.php

<?php header('Content-type: text/html; charset=utf-8'); ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Visu log</title> <script type="text/javascript" src="script.js"></script> </head> <body> <div class="refresh"></div> </body> </html>


script.js

var oO = { 'tempoXHR': 3000, 'tempoRefresh': 5000, 'url': 'visu_log.php', connect: function(oElem, sEvType, fn, bCapture) { return document.addEventListener ? oElem.addEventListener(sEvType, fn, bCapture): oElem.attachEvent ? oElem.attachEvent('on' + sEvType, fn): false; }, aTag: function(oEl, sTag) { return oEl.getElementsByTagName(sTag); }, bXHRSupport: (typeof XMLHttpRequest != "undefined"), bActiveXSupport: (window.ActiveXObject), aMSXML: ["Microsoft.XMLHTTP", "MSXML2.XMLHTTP", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.6.0", "MSXML2.XMLHTTP.7.0"], createXHR: function() { if(oO.bXHRSupport) return new XMLHttpRequest; else if(oO.bActiveXSupport) { var iI; iI = oO.aMSXML.length; do { try { return new ActiveXObject(oO.aMSXML[--iI]); } catch(oError) { }; } while(iI > 0); throw new Error("L'objet oXHR n'a pas été créé"); } }, getXHR: function(oReq) { var oXHR, oTimer; oXHR = oO.createXHR(); oO.oReq = oReq; oXHR.open(oO.oReq['method'], oO.oReq['url'], true); oTimer = setTimeout( function() { if(oXHR) return oXHR.abort(); }, oO['tempoXHR'] ); oXHR.onreadystatechange = function() { if(oXHR.readyState === 4) if(oXHR.status && /200|304/.test(oXHR.status)) { clearTimeout(oTimer); oO.oReq['response'] = oXHR.responseText; if(oO.oReq['callback']) (oO.oReq['callback'])(); } } oXHR.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT"); if(oO.oReq['method'] === 'post') oXHR.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); return oO.oReq['method'] === 'get' ? oXHR.send(null): oXHR.send(oO.oReq['param']); }, control: function(oEl) { return setInterval( function() { return oO.getXHR( { 'cible': oEl, 'url': oO['url'], 'method': 'get', 'callback': function() { return oO.refresh(oO.oReq['cible'], oO.oReq['response']); } } ); }, oO['tempoRefresh'] ); }, refresh: function(oEl, sResponse) { return oEl.innerHTML = sResponse; }, init: function() { var aDivs, iDiv; aDivs = oO.aTag(document, 'div'); iDiv = aDivs.length; do if(aDivs[--iDiv].className === 'refresh') oO.control(aDivs[iDiv]); while(iDiv > 0); return true; } }; oO.connect(window, 'load', oO.init, false);


et le fichier appelé visu_log.php, réduit à un simple echo "lecture"; pour l'exemple et pour être sur que le problème ne vient pas de là.

Une idée du pb? par avance merci,
Claire

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Ishaan
Superviseur :
- Développemen.
Modérateur :
- PHP
- VB .NET
- MySQL
- Ajax
Chef de projet(s) :
- Webkomx
- Team MoteurProg

Avatar de Ishaan
Inscrit : 09/07/2004
Messages : 497
Message
#141522
Posté le 23/08/07 à 11:41
Ça me paraît bien compliqué ton script :)

je te recommande d'aller vers une solution plus simple ^^

prends un makeRequest tout simple pour ta requête ajax. (cf le script sur le site de dev mozilla)

Ensuite tu ajoutes quelques variables globales javascript que tu déclares tout en haut de ton script js, avant les fonctions style
var tempoRefresh = 5000;

puis sur le onload tu appelles une fonction qui se rappelle en récursif (via un setTimeout dont le delay = ta tempoRefresh), et qui appelles ton script de makeRequest (qui lui se charge d'appeler ton script php, et de gérer ensuite l'affichage dans le alertContent).

un truc simple comme ça dans un premier temps :)
__________________________
....... Curtis: RTS 3D .......
Image Image

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 
POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

PREMIERE PAGE

PAGE PRECEDENTE Page précédente

Page suivante

PAGE SUIVANTE DERNIERE PAGE

FORUM AJAX



    PAGE : [1]



.: Site Web développé par Julien Pichot et l'équipe MPWG avec www.evolvia-web.com :.