Récupération de variable (fonction ajax)

Fermé
Meili Messages postés 15 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 17 octobre 2012 - 28 août 2009 à 17:25
Bonjour,

J'essaie de faire une pseudo galerie d'images pour un nouveau site, mais ne voulant pas à chaque fois rafraichir toute la page, j'ai pu obtenir un bout de code ajax qui me permet de ne changer que l'espace où je vais mettre l'image grand format.

J'ai donc une barre de navigation à gauche qui affiche toutes les vignettes des images référencées dans ma base de donnée

<?
include('sql.php');
include('connection.php');

$result = mysql_query("SELECT * from toiles order by no");
while ($row = mysql_fetch_array($result)){
$image 	= $row[image];
$nom 	= $row[nom];

echo "<a href=\"javascript:load_data('tableau000.php','photo_box','$image')\">
		<img src='../img/tableau/toiles/mini/$image' width='133' height='100' alt='$nom'>
	</a>";
  }
mysql_close();
?>


et j'affiche à droite l'image agrandie de la vignette que l'on aura cliquée, celle-ci étant définie dans la page "tableau.php" donc voici le code :

<?
echo "<img src='../img/tableau/toiles/$image' alt='$nom'>";
?>


Le code ajax utilisé est le suivant :

function getHTTPObject(box_id)
/* Merci à https://openweb.eu.org/articles/objet_xmlhttprequest */
{
  var xmlhttp = false;

  /* Compilation conditionnelle d'IE */
  /*@cc_on
  @if (@_jscript_version >= 5)
     try
     {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
     }
     catch (e)
     {
        try
        {
           xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch (E)
        {
           xmlhttp = false;
        }
     }
  @else
     xmlhttp = false;
  @end @*/

  /* on essaie de créer l'objet si ce n'est pas déjà fait */
  if (!xmlhttp && typeof XMLHttpRequest != 'undefined')
  {
     try
     {
        xmlhttp = new XMLHttpRequest();
     }
     catch (e)
     {
        xmlhttp = false;
     }
  }

  if (xmlhttp)
  {
     /* on définit ce qui doit se passer quand la page répondra */
     xmlhttp.onreadystatechange=function()
     {
        if (xmlhttp.readyState == 4) /* 4 : état "complete" */
        {
           if (xmlhttp.status == 200) /* 200 : code HTTP pour OK */
           {
              /* Traitement de la réponse. */
              update_display(xmlhttp.responseText,box_id);
           }
        }
     }
  }
  return xmlhttp;
}

function update_display(response,box_id) {
  /* alert('ok');
  alert(box_id); */
  box=document.getElementById(box_id);
  box.innerHTML=response;
  }

function load_data(url,box_id,param) {
  /* Création de l'objet : */
  var xmlhttp = getHTTPObject(box_id); 
  /* Préparation d'une requête asynchrone de type GET : */
  xmlhttp.open("GET", url,true); 
  /* Effectue la requête : */
  xmlhttp.send(param); 
  }


Mon problème est le suivant : je n'arrive pas à récupérer les variables $image et $nom pour les afficher dans la div "photo_box".

Est-il possible de récupérer la valeur "param" apparemment transmise avec la fonction ?

Je tourne le problème depuis déjà un bout de temps, mais ne connaissant rien en java et encore moins en ajax, je pense être vraiment dépassée.

Merci d'avance de votre aide