[Ajax] scriptaculous + PHP + MySQL

Hello,

J’ai un problème qui doit être très très idiot mais en fait je bute sur ce truc depuis ce soir.
Le but est de faire un tite requete, afficher les résultats dans un tableau HTML, les entêtes de colonne devant servir a trier les données.
En PHP / MySQL pur no soucy, oui mais voila je voudrais mettre une couche d’ajax pour que a chaque tri on ne recharge pas la page.

Alors j’ai un fichier index.php qui fait la requete, met le résultat dans un array(), puis un foreach qui affiche le tableau HTML.

Sur chaque entête j’ai un lien de ce type

La fonction javascript order :

[code]
function order(order) {

	var url   = "ajax.inc.php";
	var param = "order=" + order;
	
	var ajax = new Ajax.Request(
		
		url,
		{
			method	 : 'get',
			parameters : param
		}
	);
}
</script>[/code]

Le fichier ajax.inc.php, refait juste la même requête en rajoutant un ORDER BY suivant le $_GET[‘order’], puis remet les résultat dans un array() du même nom que celui du fichier index.php

Bien évidemment cela fonctionne pas (sinon je posterais pas la).

J’ai du louper un truc ou mal faire un truc mais je vois pas quoi.

Merci de votre aide.

Dolu

Avec ton navigateur, va directement sur la page ajax.inc.php?order=name pour voir si tu renvoies bien les bonnes données avec PHP.

Yep les bonnes données sont renvoyées.
En fait je pense que je me plante sur le retour de la fonction Ajax.
En gros comment “rafraichir” mon tableau HTML avec les donnéees renvoyées par la fonction.

Je n’ai pas de onComplete sur mon Ajax.Request, parce que je ne sais pas quoi y mettre B)

Tu as regardé la doc ? À la fin de cette page il est écrit[quote]See Ajax.Updater for Ajax calls that expect to return rendered data into a div or other UI element.[/quote]

peut être que là c’est un peu plus clair : http://www.sergiopereira.com/articles/prot…html#UsingAjax

[code]function searchSales()
{
var empID = $F(‘lstEmployees’);
var y = $F(‘lstYears’);
var url = ‘http://yourserver/app/get_sales’;
var pars = ‘empID=’ + empID + ‘&year=’ + y;

	var myAjax = new Ajax.Request(
		url, 
		{
			method: 'get', 
			parameters: pars, 
			onComplete: showResponse
		});
	
}

function showResponse(originalRequest)
{
	//put returned XML in the textarea
	$('result').value = originalRequest.responseText;
}[/code]