Rechercher : dans
Par :

Utilisation de tri par AJAX

Dernière réponse le 8 fév 2008 à 17:33:39 alpachinois, le 8 fév 2008 à 12:08:04 
 Signaler ce message aux modérateurs

Bonjour,




J'ai découvert une superbe bibliothèque pour faire des tris de tableaux combinée avec jquery via

http://www.javascripttoolbox.com/lib/table/examples.php

Cependant, j'ai des tableaux de données appelés via AJAX et je n'arrive pas à appeler les classes de cette lib alors qu'elle marche nickel lorsque je suis dans un fichier HTML classique sans AJAX. C'est pourquoi si quelqu'un pouvait m'aider à intégrer cette librairie lors de mes appels AJAX, aura toute ma gratitude .

Merci d'avance de votre aide.

Configuration: Windows XP
Firefox 2.0.0.12

Meilleures réponses pour « Utilisation de tri par AJAX » dans :
Tri par fusion - récursivité- VoirVoici une procédure récursive qui permet de trier un tableau de n entiers en utilisant la méthode de tri par fusion : Procedure Tri_Fusion (Var t : TAB; g, d : integer); Var m, i, j, k : integer; s : TAB; Begin If d > g Then ...
Trier un tableau sans utiliser la fonction sort VoirTrier un tableau sans utiliser la fonction sort D'abord on initialise une variable $max avec la 1ère valeur de tableau. Ensuite on va faire une boucle tant que le tableau contient encore des éléments. C'est avec la fonction splice qui a le rôle...
Utilisation de l'objet XMLHttpRequest VoirUtilisation de l'objet XMLHttpRequest I - Introduction 1.1 - Quelques mots 1.2 - Techniques pré-requises II - Présentation 2.1 - Principe 2.2 - Utilisation asynchrone 2.3 - Avantages 2.4 - Inconvénients III - Architecture IV - Mise...
SQL - Tri VoirTri des résultats Il est possible en SQL d'organiser les résultats grâce à la clause ORDER BY. La clause ORDER BY est suivie des mots clés ASC ou DESC, qui précisent respectivement si le tri se fait de manière croissante (par défaut) ou...
AJAX (Asynchronous Javascript And XML) VoirIntroduction à AJAX AJAX (Asynchronous Javascript And XML, traduisez Javascript asynchrone et XML) est une méthode de développement web basée sur l'utilisation d'un script Javascript pour effectuer des requêtes web à l'intérieur d'une page web...
Linux - Gestion des utilisateurs VoirPremier pas de l'administrateur Lorsque diverses personnes ont accès à un système, il est nécessaire que l'administrateur système gère les utilisateurs. Pour ceci, les commandes usuelles et les fichiers à configurer doivent être connus. Les...

1

kij_82, le 8 fév 2008 à 13:30:42

Bonjour,

Ajax est un bien grand mot dans le sens ou tu peux l'utiliser pour des choses assez diverses.
Par exemple, un simple javascript modifiant le contenu d'une page rentre dans la méthode AJAX.
Mais tu peux également appeller des scripts PHP via javascript via les objets XmlHttpRequest. Je pense que la solution à ton probleme est là, il faut que tu utilise ces objets afin d'appeller un script PHP utilisant tes bibliothèques et affichant du code javascript exécutable sur la sortie de ton script PHP (via des echo "[code javascript]"; )

Voici un exemple que tu exécutera chez toi pour comprendre le mécanisme.
Tu as cette fonction javascript définie dans un fichier "fonction.js" :

<script language="javascript">
function callScript ( scriptName, data ){
	
	var xhr_object = null; 
	     
	if(window.XMLHttpRequest) // Firefox 
	   xhr_object = new XMLHttpRequest(); 
	else if(window.ActiveXObject) // Internet Explorer 
	   xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	else { // XMLHttpRequest non supporté par le navigateur 
	   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
     return; 
	} 
	 
	xhr_object.open("POST", scriptName, true);
	     
	xhr_object.onreadystatechange = function() {
	   if(xhr_object.readyState == 4) {
			//alert(xhr_object.responseText); // DEBUG MODE
			//document.write(xhr_object.responseText);
			eval(xhr_object.responseText);
		 }
	} 
	 
	xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xhr_object.send(data);
}

function appel ( ){
   callScript("traitement.php",null);
}
</script>


Puis ton as ton script PHP dit de "traitement" qui sera appellé par la fonction callScript ci-dessus :
Code de "traitement.php" :
<?php
echo "var div = document.getElementById('toto');";
echo "div.innerHTML = 'Coucou !!';";
?>


Un code relativement simple juste pour comprendre.

Et enfin le code de ta page principale, "index.php" :
<?php
include "fonction.js";
?>

<input type='button' value='cliquer' onclick='appel()' />
<div id='toto'></div>


Voilà, lorsque tu vas cliquer sur ton bouton, le texte 'Coucou !!' va apparaitre dans ta div 'toto' juste au dessous du bouton.
Quel intéret me diras-tu puisqu'il aurait suffit de faire la même chose en javascript (juste les deux lignes des echo en PHP ? L'intérêt est justement de pouvoir faire des traitements dans ton fichier PHP de traitement (acces à une base de données, utilisation de bibliothèques PHP (ton cas), etc.) et en même temps en fonction de ce traitement d'écrire sur la sortie du code javascript qui sera exécuter à la fin de l'éxécution du code PHP, dans le navigateur du client.

Avec ca tu devrais donc être en mesure d'utiliser tes bibliothèques.

~ N'oubliez pas la balise "Résolu" lorsque votre problème est... résolu :) ~

Répondre à kij_82

2

kij_82, le 8 fév 2008 à 13:32:07

Arf, j'ai pris le problème à l'envers je crois ^^

Tes bibliothèques sont en javascript ?
Fais voir tes différents fichier afin de comprendre leur interaction et la manière dont tu inclus les bibliothèques dedans.

~ N'oubliez pas la balise "Résolu" lorsque votre problème est... résolu :) ~

Répondre à kij_82

3

alpachinois, le 8 fév 2008 à 15:22:07

Oui ce sont des lib en js.

Je n'ai pas de problème au niveau de l'appel AJAX j'aimerais juste incorporer la bibliothèque de javascripttoolbox dans les tableaux que je reçois avec le xhr.ResponseText. Car elle est assez facile à incorporer lorsqu'on a un tableau de données dans un fichier html mais ça a pas l'air de marcher quand j'essaie de passer l'attribut class ='sortable' par exemple.

Répondre à alpachinois

4

kij_82, le 8 fév 2008 à 16:57:18

Ben.. je ne connais pas trop cette bibliothèque bien qu'elle ai l'air sympa, mais j'imagine qu'il suffit juste d'inclure les bibliothèques dans ta page web et d'y faire appel via les fonctions javascript ou un autre procédé.
Je n'ai pas plus de temps à passer sur ce problème puisque c'est le we, mais j'imagine que le procédé d'utilisation doit etre décrit dans une notice lorsque tu download ces bibliothèques. Jette un coup d'oeil pour vérifier que tu n'as pas zappé quelque chose, juste au cas ou.


~ N'oubliez pas la balise "Résolu" lorsque votre problème est... résolu :) ~

Répondre à kij_82

5

 alpachinois, le 8 fév 2008 à 17:33:39

Oui pas de problème pour intégrer y'a juste à dl jquery.js et table.js sur ce site et de mettre des attributs CLASS dans les balises <tr> et <th>. Mais j'aimerais juste savoir comment exécuter ses attributs quand je lance une requête via AJAX sachant que j'ai seulement trouver des codes pour lancer des tags <script> via AJAX.

Sur ce bon week end à vous.

Répondre à alpachinois
Collection CommentÇaMarche.net