PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#51 02-12-2009 14:47:54

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : xAjax

Avec un temps de gestation aussi long, tu nous prépare des quintuplés big_smile:D
a++

Hors ligne

#52 04-12-2009 00:01:28

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : xAjax

c'erait ce des extuplées ??:(
a++

Hors ligne

#53 04-12-2009 15:00:56

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : xAjax

Boulot, manger, dodo.
Pas la place pour la famille ni les loisirs voyons Pierrot là dedans. tongue

Hors ligne

#54 07-12-2009 11:52:57

Alnoss
Modérateur absent
Lieu : 06 - PACA
Inscription : 11-05-2009
Messages : 541
Site Web

Re : xAjax

Tu m'étonnes.. avec Pierrot, tout est nickel ^^

Et nul besoin de sextuplés... C'est juste que de l'entité $vie = 1, je viens de passer à $vie = 2

CQFD wink


MERCI de lire le mode d'emploi avant de poster !!

Hors ligne

#55 09-12-2009 12:48:45

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : xAjax

put1, tu vas être riche avec les alloc big_smile:D
a++

Hors ligne

#56 15-12-2009 11:03:14

Alnoss
Modérateur absent
Lieu : 06 - PACA
Inscription : 11-05-2009
Messages : 541
Site Web

Re : xAjax

Snif... Loin de moi l'idée d'oublier ce sujet au combien passionnant... mais je me vois contraint de le stocker dans ma boite "a faire" pour le moment :
- plateforme au boulot pas configuré pour [et Resp Info qui a pas envie de le faire]
- plateforme chez moi ok, mais encore faudrait il que je rentre chez moi
- plateforme chez ma copine...pas approprié, mais alors, du tout...

L'intérêt étant au demeurant fort bon, je ne manquerais pas d'up le topic le moment venu wink

>> Pierrot : les alloc ?? cékoissa ?? lol


MERCI de lire le mode d'emploi avant de poster !!

Hors ligne

#57 15-12-2009 13:10:28

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : xAjax

>> Alnoos
Alloc ?? cékoissa ??
Vu que tu es stérile, tu ne le saura jamais wink big_smile
a++

Hors ligne

#58 15-12-2009 16:43:22

Alnoss
Modérateur absent
Lieu : 06 - PACA
Inscription : 11-05-2009
Messages : 541
Site Web

Re : xAjax

>> Pierrot Vu que tu es stérile, tu ne le saura jamais wink big_smile
Effectivement !! Mais tu étais censé être tenu au secret professionnel par le serment d'Hippocrate, hypocrite tongue


MERCI de lire le mode d'emploi avant de poster !!

Hors ligne

#59 15-12-2009 18:28:47

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : xAjax

comme Hippocrate est un polichinelle !!!!! big_smile:D
a++

Hors ligne

#60 28-04-2010 10:39:50

Alnoss
Modérateur absent
Lieu : 06 - PACA
Inscription : 11-05-2009
Messages : 541
Site Web

Re : xAjax

non, ce topic n'est pas mort ... vu que j'ai 1 jour de "tranquille", je me re-penche un peu dessus

Voici un screenshot de la page en question... chaque compteur évolue en permanence, et pour l'instant, est sous l'effet d'un meta-refresh 20sec.
Le but étant que chaque compteur évolue en temps réel et que l'on ai pas le scintillement du refresh...
screen.jpg
Je vais me reconcentrer sur la méthode Pierrot...


MERCI de lire le mode d'emploi avant de poster !!

Hors ligne

#61 29-04-2010 09:47:34

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : xAjax

Bonjour,

Un petit mot Alnoss, juste pour te dire que j'aime bien le concept de ton tableau de bord avec cet effet de transparence. Concept sympa wink
As-tu pensé à éxécuter une tache CRON côté serveur pour le refresh et ainsi éviter l'effet de scintillement?
Un timer Ajax asynchrone infini sur ta page peut résoudre aussi ton problème de scintillement, mais je suppose que c'est l'objet de ce post. (Désolé, je n'ai pas pris le temps de le lire).

Cordialement,


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#62 29-04-2010 10:06:11

Alnoss
Modérateur absent
Lieu : 06 - PACA
Inscription : 11-05-2009
Messages : 541
Site Web

Re : xAjax

Coucou,

Tout d'abord, thx pour le commentaire : j'avais pondu ça à l'arrache pour avoir une présentation "propre", et c'est resté "en l'état" wink

Effectivement, j'avais envisagé la tache CRON, sauf que le serveur ne l'accepte pas :s
Je suis donc contraint de passer par une autre méthode pour cette tache super répétitive (refresh des compteurs toutes les secondes).
Le fait étant que je pars de 0 en Java / JS / Ajax / xAjax ... donc je comprends vite, mais il faut m'expliquer longtemps ^^


MERCI de lire le mode d'emploi avant de poster !!

Hors ligne

#63 29-04-2010 12:16:59

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : xAjax

longtemps, le mot est faible big_smile:D

1er post : 23-11-2009 13:44:48
dernier post : Aujourd'hui 11:06:11 (29-04-2010)

et pas encore compris big_smile:D:D

a++

Hors ligne

#64 29-04-2010 13:03:10

Alnoss
Modérateur absent
Lieu : 06 - PACA
Inscription : 11-05-2009
Messages : 541
Site Web

Re : xAjax

Tout à fait sad .... et c'est bien à mon grand désespoir...
Le cordonnier restera inéluctablement le plus mal chaussé !


MERCI de lire le mode d'emploi avant de poster !!

Hors ligne

#65 29-04-2010 19:23:00

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : xAjax

smile

Sinon y a encore une autre possibilité, plus classique : developper un processus serveur résident^^. Mais je dis ca, je dis rien

Allez, a+


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#66 03-05-2010 08:51:26

Alnoss
Modérateur absent
Lieu : 06 - PACA
Inscription : 11-05-2009
Messages : 541
Site Web

Re : xAjax

hop ! Juste pour expliquer la charge que cela peut représenter : (chaque chiffre = un compteur)

suivi.gif


MERCI de lire le mode d'emploi avant de poster !!

Hors ligne

#67 03-05-2010 10:46:45

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : xAjax

donc un chiffre = une requête ajax wink
c'est aussi simple que ça wink
a++

Hors ligne

#68 06-05-2010 10:25:00

Alnoss
Modérateur absent
Lieu : 06 - PACA
Inscription : 11-05-2009
Messages : 541
Site Web

Re : xAjax

bon alors attention, j'arrive !!!!

Actuellement, en php, j'ai  :
- petit fichier fct.php tel que :

<?php
function cptfam($fam) {
$row=mysql_fetch_array(mysql_query("SELECT COUNT(*) AS cpt FROM table WHERE fam = '".$fam."'", $link));
return $row['cpt'];}?>

et enfin la page d'affichage


<meta http-equiv="refresh" content="1";>
<?php $fam = 'mon parametre';
echo 'mon compteur : '.cptfam($fam);?>

[---]
Tentative de Passage au JS, j'ai donc :
- un petit ajax_lib.js posé à la racine de mon site

je vous épargne - la librairie est assez longue

- un fichier fct_js.js tel que :


<script type="text/javascript">
function RefreshMaDiv1(){
  params="";
  new Ajax_request('NomDuFichierQuiRetourneraLesDonneesPourLaDiv1.php',{method:'post',params:param,onSuccess:ReceptDonneesDiv1,onError:ERRReceptDonneesDiv1,async:false});}
  // les functions il faut les écrire :D:D
function ReceptDonneesDiv1(xhr){document.getElementById("madiv1").InnerHtml=xhr.responseText;}
function ERRReceptDonneesDiv1(xhr){alert('Impossible d\'afficher les données : Cause =' +xhr.status);}
      var timer=setInterval("RefreshMaDiv1()", 1000);// va appeler ta function toutes les secondes
</script>
 

- un fichier dont je ne percois pas l'utilité sad

header("Content-Type: text/plain; charset=utf-8");
$buffer="";
// le traitement php qui va chercher les données et met a jour $buffer;
echo $buffer; /// attention, 1 seul echo ;)
// ta function JavaScript ReceptDonneesDiv1 recevra dans xhr.ReponseText la valeur de $buffer ;)

Sauf que le mieux serait 1 seul fichier et de jouer sur le paramètre (qui serait en fait la requête)...
je ne vois pas comment appeler, ni afficher le résultat.
En relisant un poil, je ponds un :


<script type="text/javascript" src="ajax_lib.js"></script>
<?php require("fct_js.js");
$buffer= "{ NbFacture : 18, NbFactureArchive : 22 }"; echo $buffer;?>

Cela me semble être la façon de le faire, mais je ne percois pas comme passer mes paramètres (la requête en ajax en fait)

Allé, balance la sauce, je suis prêt big_smile


MERCI de lire le mode d'emploi avant de poster !!

Hors ligne

#69 06-05-2010 11:12:27

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : xAjax

Ajax_request('NomDuFichierQuiRetourneraLesDonneesPourLaDiv1.php',{method:'post',params:param,onSuccess:ReceptDonneesD

param, c'est pas pour les sourds big_smile:D

a++

Hors ligne

#70 06-05-2010 13:07:02

Alnoss
Modérateur absent
Lieu : 06 - PACA
Inscription : 11-05-2009
Messages : 541
Site Web

Re : xAjax

dans ce cas, à quoi sert le params=""; ??
dois-je passer par un truc du style


function RefreshMaDiv1($parametre){
   Ajax_request('blabla.php',{method:'post',params:'.$parametre.',onSuccess:ReceptDonneesD..
 

et j'appelle tout ça via un <?php echo RefreshMaDiv1(marequete);?> ???

Je sens que je vais me prendre un court de marteau de 1000 tonnes sur la tête, mais m'en fout, je veux y arriver ^^


MERCI de lire le mode d'emploi avant de poster !!

Hors ligne

#71 06-05-2010 20:52:03

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : xAjax

tu l'appel comme ca wink
var timer=setInterval("RefreshMaDiv1()", 1000)
j'ai juste fais un copier/coller wink
a++

Hors ligne

#72 07-05-2010 09:26:17

Alnoss
Modérateur absent
Lieu : 06 - PACA
Inscription : 11-05-2009
Messages : 541
Site Web

Re : xAjax

je ne comprends rien à rien ! Je pensais que mes notions de php suffiraient mais il n'en est rien.
Je pense que je vais suivre le conseils que je donne en permanence et aller apprendre les bases du JS...


MERCI de lire le mode d'emploi avant de poster !!

Hors ligne

#73 07-05-2010 09:56:39

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : xAjax

dis moi ce que tu ne comprends pas wink
a++

Hors ligne

#74 07-05-2010 10:24:00

Alnoss
Modérateur absent
Lieu : 06 - PACA
Inscription : 11-05-2009
Messages : 541
Site Web

Re : xAjax

en fait, c'est simple : je ne comprends pas le cheminement de la requete
Surement que ma conception de prog passive (php en distant plutot que JS en local) vérrouille une notion.

Autant je m'en sers sur des vérif de form, des galeries et autres, autant là je sèche !

méthodologiquement, je ne perçois pas les différentes étapes du script :
- définition du "cadre" rafraichissant
- intégration du paramètre "requete"
- affichage du résultat dans le cadre dans une page php

Peut être aussi qu'en cherchant à "dynamiser" ma requête (plutôt que 1 compteur = 1 fonction = 1 requete) je vise un peu haut d'un coup...


MERCI de lire le mode d'emploi avant de poster !!

Hors ligne

#75 10-05-2010 10:37:42

Sergnal
Membre
Inscription : 17-06-2009
Messages : 38

Re : xAjax

Bonjour,

En grand fan d'Ajax je me permet de m'incruster dans la conversation. Le fonctionnement est assez dur à concevoir (surtout pour les habitués de php) mais il suffit de comprendre une fois "et tout deviendra clair".

Suivez le guide :

<body onLoad='RefreshMaDiv1(monfam);'><div id='madiv1'>Mon contenu</div></body>

du html simple et pur que tu peux générer via du php, ça change rien hein :

<?php echo "<body onLoad='RefreshMaDiv1(".$fam.");'><div id='madiv1'>Mon contenu</div></body>"; ?>

Il faut juste retenir que le javascript ne se lancera qu'après génération de ta page par php donc inutile d'essayer de mêler les deux (si j'ai mal interprété ton require("fct_js.js"); je m'en excuse mais ça m'a un peu choqué).

Une fois que tu as ton html de posé le javascript se lance avec la fonction de Pierrot (pour le passage de paramètre Pierrot tu peux me confirmer que c'est comme ça que ça marche ? je suis pas sûr vu que j'ai pas la fonction sous le nez).

<script type="text/javascript">
function RefreshMaDiv1(monfam){
  params="fam";
  new Ajax_request('requete.php',{method:'post',params:monfam,onSuccess:ReceptDonneesDiv1,onError:ERRReceptDonneesDiv1,async:false});}
  // les functions il faut les écrire :D:D
function ReceptDonneesDiv1(xhr){document.getElementById("madiv1").InnerHtml=xhr.responseText;}
function ERRReceptDonneesDiv1(xhr){alert('Impossible d\'afficher les données : Cause =' +xhr.status);}
      var timer=setInterval("RefreshMaDiv1()", 1000);// va appeler ta function toutes les secondes
</script>

Ici il faut je crois couper le code pour suivre le cheminement :

<script type="text/javascript">
function RefreshMaDiv1(monfam){
  params="fam";
  new Ajax_request('requete.php',{method:'post',params:monfam,onSuccess:ReceptDonneesDiv1,onError:ERRReceptDonneesDiv1,async:false});}

Ce petit bout de script (pur JS) va réaliser l'exploit de lancer un script php (requete.php, comme indiqué dans les paramètres) :

//fichier requete.php
header("Content-Type: text/plain; charset=utf-8");
//connexion a la base
$buffer="";
$row=mysql_fetch_array(mysql_query("SELECT COUNT(*) AS cpt FROM table WHERE fam = '".$_POST['fam']."'", $link));
$buffer=$row['cpt'];
echo $buffer; /// attention, 1 seul echo ;)
// ta function JavaScript ReceptDonneesDiv1 recevra dans xhr.ReponseText la valeur de $buffer ;)

La j'ai fait un ptit mix pour que tu comprennes l'utilité du code de Pierrot, en fait c'est ton script php du début, un peu amménagé pour ajax.
Donc le javascript a lancé ce script, il attend maintenant la réponse (puisque apparemment on est pas en mode asynchrone) et hop xhr revient contenant tout ce qu'a renvoyé le script php.

//si réussite du code xhr.responseText contient la valeur de $buffer renvoyée par traitement.php
function ReceptDonneesDiv1(xhr){document.getElementById("madiv1").InnerHtml=xhr.responseText;}
function ERRReceptDonneesDiv1(xhr){alert('Impossible d\'afficher les données : Cause =' +xhr.status);}

Et on est revenu dans du javascript "simple", on modifie le contenu de notre div avec une valeur (le résultat du script php).
Il ne reste plus qu'à s'assurer du rafraichissement.

var timer=setInterval("RefreshMaDiv1('"+monfam+"')", 1000);

Bon je me suis axé sur le cheminement donc j'ai fait un peu comme je voulais pour le passage des paramètres (et dans l'état actuel de l'exemple il faut effectivement une fonction par requête) mais comme tu le dis il ne faut pas viser trop haut d'un coup. Essaie déjà de faire marcher une div-test qui s'actualise avant de songer à étendre le principe...
...mais bon dans l'absolu c'est tout a fait possible (et même de plusieurs manières, tout dépend de jusqu'à quel point tu veux dynamiser la chose).

Voilà, pouf c'était long, j'espère que ça va t'aider(que j'ai bien compris le problème surtout) et bon courage.

Dernière modification par Sergnal (10-05-2010 10:44:08)

Hors ligne

Pied de page des forums