hlimaiem
Messages postés106Date d'inscriptiondimanche 19 mars 2006StatutMembreDernière intervention17 janvier 2007
-
6 mai 2006 à 19:42
hlimaiem
Messages postés106Date d'inscriptiondimanche 19 mars 2006StatutMembreDernière intervention17 janvier 2007
-
10 mai 2006 à 14:08
Limaiem Heykel
bonjour,
J'ai une page php qui affiche des resultat depuis une base de donnees .
J'ai plusieurs donnees qui s'ajoutent a ma base dans des temps differents y'a t -il une solution pour afficher les dernieres resultats des qu'elles s'ajoutent a ma base de donnes sans actualiser la page manuellement
merci enormement
Evangun
Messages postés1980Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention24 septembre 20124 6 mai 2006 à 20:49
Salut,
oui c'est possible, le principe s'appelleAjax : du javascript va exécuter une requête toutes les x minutes et modifier l'affichage en fonction des réponses.
Donc renseigne-toi sur Ajax, genre là pour commencer :
mais attention, ce qu'ils expliquent ne fonctionne pas sous Firefox, donc à la limite va plutôt sur le site de firefox qui donne la bonne méthode (mais je me rappelle plus l'adresse).
à+
Teclis01
Messages postés1423Date d'inscriptionmardi 14 décembre 2004StatutMembreDernière intervention29 décembre 20124 6 mai 2006 à 21:24
il y a autre chose aussi mais beaucoup plus brutal ...
ceci:
<meta http-equiv ="refresh" content="30;URL=./tchat.php">
j utilise ce meta pour raffraichir un tchat que j'ai fait pour discuter
30 represente le nombre de seconde entre chaque refresh
URL contient lapage vers laquelle cela va aller.
-------------------------------------------------------------------------------------------------------
Il vaut mieux poser une question et passer pour bête que le rester toute sa vie
Evangun
Messages postés1980Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention24 septembre 20124 7 mai 2006 à 14:00
Houlà Teclis, tu devrais peut-être changer de chat lol
Tu consommes bcp trop de ressources. Il y a des sources bien plus économiques, mais je sais pas si elles utilisent Ajax... si c pas le cas, faudra bien y venir un jour.
à+
hlimaiem
Messages postés106Date d'inscriptiondimanche 19 mars 2006StatutMembreDernière intervention17 janvier 2007 7 mai 2006 à 14:12
Limaiem heykel
Mais bon l'exemple d'ajax j'y est rien compris, peut etre je doit mieux expliquer mon pb:
Voila j'ai un programme java qui asspire des infos et les enregistrent ds une base de donnee MYSQL donc je peut avoir 100 nouvel enregistrement chaque x temp comme je peut n'avoir aucun enregistrement pendant longtemps.
Dans ma page php l'affichage des resultat se fait suivant une requete de la base de donnee ds un tableau je voudrait pas rafrechir la page chaque 5 ou 10 seconde
je voudrait la rafracihir chaque fois que j'ai de nouveua enregistrement
Merci bq
Vous n’avez pas trouvé la réponse que vous recherchez ?
hlimaiem
Messages postés106Date d'inscriptiondimanche 19 mars 2006StatutMembreDernière intervention17 janvier 2007 7 mai 2006 à 17:54
Limaiem heykel
Mais bon quesque je doit rechercher exactement je ne connait pas les struts et l'exemple que j'ai trouver parle de struts et de...
Mon probleme et ce que je veu seulement rafraichir la page qd j'ai de nouveau enregistrement donc je veux faire une sorte d'ecouteur de la base de donnees..
Les tutoriaux que j'ai trouver son tres complique et pour les comprendre il me fau bq de temps ( il me reste seulement pour terminer le travail que j'ai ) donc -> gros pb
Merci en tout cas enormement
cs_spyro666
Messages postés137Date d'inscriptionlundi 10 janvier 2005StatutMembreDernière intervention28 août 2007 8 mai 2006 à 15:11
Voilà ce qui pourrait t'aider :
<script language="javascript">
xhr_url = 'ta_page_ecoute.php';
old_xhr_response = '';
function SendGetRequest() {
if ( window.XMLHttpRequest ) {
// Objet XmlHttpRequest pour les moteurs GECKO
xhr_object = new XMLHttpRequest();
} else if ( window.ActiveXObject ) {
// Objet XmlHttpRequest pour Internet Explorer
xhr_object = new ActiveXObject( 'Microsoft.XMLHTTP' );
} else {
// Navigateur non-compatible
alert( 'Votre navigateur ne supporte pas les objets XMLHTTPRequest...' );
return;
}
// On ouvre la requete vers la page désirée
xhr_object.open( 'GET', xhr_url, false );
// On lui donne le pointeur de fonction de retour
xhr_object.onreadystatechange = CallBackRequest;
// On envoi la requete
xhr_object.send( null );
}
function CallBackRequest() {
// Sur le retour de la requete, on teste son état
if ( xhr_object.readyState == 4 ) {
//il faut maintenant connaître la valeur de la dernière entrée de ta base de donnée :
if(xhr_object.ResponseText != old_xhr_response) {old_xhr_response xhr_object.ResponseText; document.getElementById('ton_champ_de_stockage').innerHTML xhr_object.ResponseText;
}
}
}
SetInterval("SendGetRequest()",10000)
hlimaiem
Messages postés106Date d'inscriptiondimanche 19 mars 2006StatutMembreDernière intervention17 janvier 2007 9 mai 2006 à 04:56
Limaiem heykel
Merci bq pour votre aide donc ce que j'ai compris je doit mettre ce script dans ma page .php et les deux variable xhr_url c'est la page qui fait koi justement je l'ai pas compris et old_xhr_reponse
je doit y mettre l'index de mon dernier enregistrement (mes onregistrement son idexer on ordre) et c'est en javaScript la variable donc la syntaxe serait old_xhr_response ='<? echo $['index']; ?>
Merci enormenet si tu peut m'expliquer un peut le code que tu ma transmit ou le mettre exactement et comment le traiter
Merci bq votre aidre me serait enormement benfique
cs_spyro666
Messages postés137Date d'inscriptionlundi 10 janvier 2005StatutMembreDernière intervention28 août 2007 9 mai 2006 à 10:21
Bon je vais essayer de t'expliquer comment ça se passe :
<script language="javascript">
xhr_url = 'ta_page_ecoute.php'; // C'est l'url du fichier dans lequel tu testes si il y a un nouvel enregistrement
old_xhr_response = ''; // on initie la variable pour que au premier test on mette a jour l'affichage
function SendGetRequest() {
//-----------cette section sert à la détection du navigateur (ne pas modifier)
if ( window.XMLHttpRequest ) {
// Objet XmlHttpRequest pour les moteurs GECKO
xhr_object = new XMLHttpRequest();
} else if ( window.ActiveXObject ) {
// Objet XmlHttpRequest pour Internet Explorer
xhr_object = new ActiveXObject( 'Microsoft.XMLHTTP' );
} else {
// Navigateur non-compatible
alert( 'Votre navigateur ne supporte pas les objets XMLHTTPRequest...' );
return;
}
// On ouvre la requete vers la page désirée
xhr_object.open( 'GET', xhr_url, false );
// On lui donne le pointeur de fonction de retour
xhr_object.onreadystatechange = CallBackRequest;
// On envoi la requete
xhr_object.send( null );
}
function CallBackRequest() {
// Sur le retour de la requete, on teste son état
if ( xhr_object.readyState == 4 ) {
//il faut maintenant connaître la valeur de la dernière entrée de ta base de donnée :
if(xhr_object.ResponseText != old_xhr_response) {
old_xhr_response = xhr_object.ResponseText; // je stock toute la réponse du fichier dans cette variable
//afin que la prochaine fois que le fichier php me retourne qqch je puisse comparé toute la réponse.
document.getElementById('ton_champ_de_stockage').innerHTML = xhr_object.ResponseText;
}
}
}
SetInterval("SendGetRequest()",10000)
</script>
Ton fichier "ta_page_ecoute.php" ressemblerais à ça :
hlimaiem
Messages postés106Date d'inscriptiondimanche 19 mars 2006StatutMembreDernière intervention17 janvier 2007 9 mai 2006 à 15:21
Limaiem heykel
Bonjour encore une fois. Bein je m'excuse encore une autre fois . Ca pas marcher je vous donne mon bout de code que j'ai ecrit mais la page ne se rafraichi pas :
//MA page start.php ou il y aura l'affichage des resultat <? ...
mysql_connect("localhost","root","");
mysql_select_db("car");
$x = mysql_query("SELECT MAX(`index1`) AS heykel FROM voiture");
$mx = mysql_fetch_array($x);//ici je selectionne l'enregistrement posedant le plus grand index de ma base de donnees
<script language="javascript">
xhr_url = 'admin/ecouteur.php';
old_xhr_response = '<? echo $_SESSION['maxim']; ?>';/// l'old_xhr_response contient donc le plus grand index de ma base de donnees actuelle que j'ai afficher
function SendGetRequest() {
if ( window.XMLHttpRequest ) {
// Objet XmlHttpRequest pour les moteurs GECKO
xhr_object = new XMLHttpRequest();
} else if ( window.ActiveXObject ) {
// Objet XmlHttpRequest pour Internet Explorer
xhr_object = new ActiveXObject( 'Microsoft.XMLHTTP' );
} else {
// Navigateur non-compatible
alert( 'Votre navigateur ne supporte pas les objets XMLHTTPRequest...' );
return;
}
// On ouvre la requete vers la page désirée
xhr_object.open( 'GET', xhr_url, false );
// On lui donne le pointeur de fonction de retour
xhr_object.onreadystatechange = CallBackRequest;
// On envoi la requete
xhr_object.send( null );
}
function CallBackRequest() {
// Sur le retour de la requete, on teste son état
if ( xhr_object.readyState == 4 ) {
//il faut maintenant connaître la valeur de la dernière entrée de ta base de donnée :
if(xhr_object.ResponseText != old_xhr_response) {
old_xhr_response = xhr_object.ResponseText;
document.getElementById('<? echo $_SESSION['heykel1']; ?>').innerHTML = xhr_object.ResponseText; /// $_session['heykel1'] et la valeur retourner par la page ecouteur.php qui
///renvoit le plus grand index dans ma base de donnees donc si nouveau enregistrement dans ma base de donnees la var de session contiendrai cette valeur
}
}
}
SetInterval("SendGetRequest()",10000)
</script> // la suite de ma page
La page ecouteur.php contiendrai donc ce code qui permet de renvoyer la plus grande valeur de ma base de donnees:
<?
session_start();
$x = mysql_query("SELECT MAX(`index1`) AS heykel FROM voiture");
$mx = mysql_fetch_array($x);
$_SESSION['heykel1'] = $mx['heykel'];
?>
Merci bq votre aide me serai precieuse, je m'excuse pour le derangement mais bon je croit qu'avec un peut de correction ca va marcher ( avec votre aide bien sur)
hlimaiem
Messages postés106Date d'inscriptiondimanche 19 mars 2006StatutMembreDernière intervention17 janvier 2007 9 mai 2006 à 21:01
J'ai ajouter la fonction echo $mx['heykel1']; ca pas marcher la page ne s'est pas rafraichit quand j'ai eu de nouveau enregistrement dans ma base. Je fait koi donc
Merci
hlimaiem
Messages postés106Date d'inscriptiondimanche 19 mars 2006StatutMembreDernière intervention17 janvier 2007 10 mai 2006 à 14:08
Bonjour, merci pour votre aide mais ca ne marche pas , j'ai effectuer tous les changement que vous m'avez indiquer mais pas encore il y a un probleme que j'ai pas su le localiser.
Je croit je vait m'expliquer : Vous m'avez indiquer d'utiliser une page ecouteur qui permet d'emettre la nouvele variable saisie depuis ma base de donnees pour la comparer dans ma page principale
avec le dernier index existant. Donc d'apres ce que j'ai lu il y 3 type de passage de valeurs : POST, GET ,HEADER ....
Je voudrait savoir s'il y un pb a ce niveau peut etre. Aussi je ne veux rien afficher dans ma page je veux seulement la rafraichir completement si un nouveu enregistrement me serai envoyer par la page ecouteur .
VOici mon code :
page start.php
<?
session_start();
$heykel = "";
$heykel = "".$_SESSION['query'];
echo $heykel;
$great = 0;
mysql_connect("localhost","root","");
mysql_select_db("car");
$x = mysql_query("SELECT MAX(`index1`) AS heykel FROM voiture");
$mx = mysql_fetch_array($x);
<script language="javascript">
xhr_url = 'admin/ecouteur.php';
old_xhr_response = '<? echo $_SESSION['maxim']; ?>';
var xhr_object = null;
function SendGetRequest() {
if ( window.XMLHttpRequest ) {
// Objet XmlHttpRequest pour les moteurs GECKO
xhr_object = new XMLHttpRequest();
} else if ( window.ActiveXObject ) {
// Objet XmlHttpRequest pour Internet Explorer
xhr_object = new ActiveXObject( 'Microsoft.XMLHTTP' );
} else {
// Navigateur non-compatible
alert( 'Votre navigateur ne supporte pas les objets XMLHTTPRequest...' );
return;
}
// On ouvre la requete vers la page désirée
xhr_object.open( 'GET', xhr_url, true );// Je doute que le mode de transmission de donnees n'est pa correct puisque je ne transmet pas de donnees je veu seulement recupere le dernier enregistrement de ma base et je croit que CallBackRequest permet la comparaison de l'ancien index et le nouveau recuppere par la page
// On lui donne le pointeur de fonction de retour
xhr_object.onreadystatechange = CallBackRequest;
// On envoi la requete
xhr_object.send( null );
}
function CallBackRequest() {
// Sur le retour de la requete, on teste son état
if ( xhr_object.readyState == 4 ) {
//il faut maintenant connaître la valeur de la dernière entrée de ta base de donnée :
if(xhr_object.ResponseText != old_xhr_response) {
old_xhr_response = xhr_object.ResponseText;
document.getElementById('contenu').innerHTML = xhr_object.ResponseText;
javascript:location.reload();//Ext ce que ca permet de rafraichir la page ??????????? si nouveau enregistrement }
}
}
SetInterval("SendGetRequest()",10)
</script>
Pour la page ecouteur j'ai rien changer .
Merci bq