Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

conseil ajax php

6 réponses
Avatar
J-F Portala
Bonjour,
suite à des soucis de rafrachissement de page,
on m'a conseillé de regarder du côté d'Ajax.
La page à rafraichir consiste à envoyer un requete mysql et afficher le
tableau resultat toutes les 2 secondes environ.
Etant plus à l'aise en PHP qu'en javascript, je voulais savoir quelle etait
la meilleure façon
d'aborder le sujet.
Je suis tombe sur la classe xajax.php qui à l'air de vouloir simplifier
l'ajax.

Est ce un bon départ, ou faut il commencer par autre chose

6 réponses

Avatar
SAM
Le 2/12/10 1:23 PM, J-F Portala a écrit :
Bonjour,
suite à des soucis de rafrachissement de page,
on m'a conseillé de regarder du côté d'Ajax.
La page à rafraichir consiste à envoyer un requete mysql et afficher le
tableau resultat toutes les 2 secondes environ.
Etant plus à l'aise en PHP qu'en javascript, je voulais savoir quelle etait
la meilleure façon
d'aborder le sujet.
Je suis tombe sur la classe xajax.php qui à l'air de vouloir simplifier
l'ajax.

Est ce un bon départ, ou faut il commencer par autre chose



Moi le PHP je suis fâché
alors puisqu'en AJAX il y a du JavaScript j'utilise que ça.

télécharger :
<http://xkr.us/code/javascript/XHConn/XHConn.js>
et le mettre qque part sur le site
par exemple le dossier 'js' à la racine.

La page rafraichissante :

<head>
<script type="text/javascript" src="./js/XHConn.js"></script>
<script type="text/javascript">
// préciser l'adresse du fichier php lié à la BdD
var url = "maRequete.php"
// préciser temps en secondes
var delai = 5;
function up2date() {
var xhr = new XHConn();
if (!xhr) alert("XMLHTTP pas valable. Essayer otre chose.");
var fnWhenDone = function (oXML) {
var t = document.getElementById('donnees');
t.innerHTML = oXML;
setTimeout('up2date()', delai*1000);
};
xhr.connect(url, "POST", "", fnWhenDone);
}
window.onload = up2date;
</script>
</head>
<body>
<h1>Les données de l'instant</h1>
<table id="donnes">
</table>
</body>

La page php 'maRequete.php'
devra n'afficher que le *contenu* du table
c a d sans les balises <table>

--
sm
Avatar
J-F Portala
Bonjour,
Je vais regarder le lien et ton code.

Tu dis:
La page php 'maRequete.php'
devra n'afficher que le *contenu* du table
c a d sans les balises <table>




Pour être complet, chaque ligne de mon tableau affiche les données
récupérées pour chaque enregistrement.
En fin de ligne,jai un lien vers une page qui supprime l'enregistrement
et en abs du tableau, j'ai un bouton qui me remet dans la lite le dernier
enregistrement supprimé.

Dans ce cas , qui s'occupe du formatage des données.

Encore merci de ton aide

Jeff
Avatar
Olivier Masson
Le 12/02/2010 13:23, J-F Portala a écrit :
Bonjour,
suite à des soucis de rafrachissement de page,
on m'a conseillé de regarder du côté d'Ajax.
La page à rafraichir consiste à envoyer un requete mysql et afficher le
tableau resultat toutes les 2 secondes environ.
Etant plus à l'aise en PHP qu'en javascript, je voulais savoir quelle etait
la meilleure façon
d'aborder le sujet.
Je suis tombe sur la classe xajax.php qui à l'air de vouloir simplifier
l'ajax.

Est ce un bon départ, ou faut il commencer par autre chose





L'utilisation d'un des gros framework JS est vraiment plaisant.
J'utilise jQuery qui est très simple à prendre en main.
L'avantage, c'est que tu pourras ensuite trouver des modules pour faire,
par exemple, des tris de tableau et plein de jolies choses qui rend
l'"expérience utilisateur", comme on dit, plus agréable.
Avatar
SAM
Le 2/13/10 8:48 AM, J-F Portala a écrit :
Bonjour,
Je vais regarder le lien et ton code.

Tu dis:
La page php 'maRequete.php'
devra n'afficher que le *contenu* du table
c a d sans les balises <table>




Pour être complet, chaque ligne de mon tableau affiche les données
récupérées pour chaque enregistrement.
En fin de ligne,jai un lien vers une page qui supprime l'enregistrement
et en abs du tableau, j'ai un bouton qui me remet dans la lite le dernier
enregistrement supprimé.

Dans ce cas , qui s'occupe du formatage des données.



Le PHP, non ?
qque chose comme :

foreach ($donnees as $donnee) echo "<tr><td>$donnee</td></tr>n";
echo "<tr><th><a href="$lien">RESET</a></th></tr>";

Encore merci de ton aide



Le TABLE peut aussi n'être qu'un DIV.

foreach ($donnees as $donnee) echo "<p>$donnee</p>n";
echo "<h2><a href="$lien">RESET</a></h2>";

(ou si le formatage n'est que du simple texte avec des retours de lignes
par <br> par exemple)

foreach ($donnees as $donnee) echo "$donnee<br>n";
echo "<a href="$lien">RESET</a>";
--
sm
Avatar
Bruno Desthuilliers
J-F Portala a écrit :
(snip)
En fin de ligne,jai un lien vers une page qui supprime l'enregistrement



Tu veux dire que si j'envoie une requête GET à l'url en question,
l'enregistrement sera supprimé ? Ou que l'url est celle d'une page qui
contient un formulaire (method=POST) qui déclenche la suppression ?
Avatar
J-F Portala
l'url rappelle la page avec le code de l'enregistrement, ce
qui me permet de le supprimer par une requete, puis de réafficher le
tableau.

"Bruno Desthuilliers" a écrit
dans le message de news: 4b7bdb6a$0$22387$
J-F Portala a écrit :
(snip)
En fin de ligne,jai un lien vers une page qui supprime l'enregistrement



Tu veux dire que si j'envoie une requête GET à l'url en question,
l'enregistrement sera supprimé ? Ou que l'url est celle d'une page qui
contient un formulaire (method=POST) qui déclenche la suppression ?