Afficher un message
Vieux 10/04/2008, 11h35   #2 (permalink)
MaLainDa
-- Blonde grelotée --
 
Avatar de MaLainDa
 
Date d'inscription: juin 2005
Localisation: Clermont-Ferrand (63)
Messages: 167
Pouvoir de réputation: 28 MaLainDa est bien parti(e)
Par défaut

Bonjour,


Je te lance peut être une piste.

Pour interargir avec ajax et une base de données j'utilise souvent ceci : Tutoriel Ajax et XMLHttpRequest .
J'utilise en général un fichier php et un fichier js. Le fichier js récupère ce qui est affiché par le fichier php (grâce à des echo) qui éxécute une requête.

Je vais t'aider d'un petit exemple qui me permet de savoir si un utilisateur met un login déjà existant.

Fichier js:
Code:
/* valide le login */ 
function doValidateLogin() 
{
// je récupère le champs login
var o=document.getElementById("login");
/*
affiche dans ma page une icone de type loading. 
*/
	document.getElementById( o.id + '_info').innerHTML='<img src="images/loading.gif" border="0" />';
/*Objet http permettant "d'éxécuter" la page php */
    var http=null;
   try
   {
     http = new XMLHttpRequest(); 
   } catch(e)
   { 
     try { http = new ActiveXObject("Msxml2.XMLHTTP"); } 
     catch (e2)
    { 
       try { http = new ActiveXObject("Microsoft.XMLHTTP"); } 
       catch (e) {}
    }
  }

    http.onreadystatechange  = function()
    { 
         if(http.readyState  == 4)
         {
              if(http.status  == 200) 
              {
                   // la page php a été exécuté correctement
                   // la page a affiché true c'est à dire un login existe déjà
	              if(http.responseText=='true') // récupération de l'affichage grâce à http
	              {
	                 doError(o,"Ce login existe déjà veuillez en trouver un autre");
	                 loginisgood=false;
	              }
                         // la page a affiché false
	              else
	              {
	              	doSuccess(o);
	              	loginisgood=true;
	              }
              
              } 
         }
    }; 

   // on spécifie la page à exécuter en passant en get le login entré par l'utilisateur 
   http.open("GET", "verifLogin.php?login="+o.value,  true); 
   http.send(null); 

}
Le fichier verifLogin.php appellé par le js.
Code:
require('modeles/m_adhesion.php');
/* Exécute une fonction sql du type SELECT * FROM login ;
    La fonction getloginAdherents se trouve dans modeles/m_adhesion.php
*/
$logins_user=getloginAdherents(); 
$present='false';
foreach($logins_user as $login)
{
	if($_GET['login']==$login['adh_login'])
		$present='true';
}
Bdd::fermer();
// affiche false ou true 
echo $present;
Tu dois pouvoir récupérer grâce un select du type : SELECT * FROM ma_table WHERE id_client=le_code_client_rentré. Ce que tu récupère de cette relation tu l'affiches dans le fichier php par des echos.

Ces echos seront récupérés par le fichier js avec l'objet http. Pour afficher dans tes champs (le nom du client, le prénom du client, son adresse) utilise
innerHTML.

Par exemple dans ton formulaire php:
Ton champs textfield nom du client: <input name="nom" id="nom_client" type="text"/>

Dans le fichier javascript:
document.getElementById( 'nom_client').innerHTML='chaine de caractère affichée par le fichier php executant la requete sql';

C'est une réponse un peu tardive mais peut être que ça pourra t'aider ou aider quelqu'un d'autre. Peut-être que ma réponse n'est pas très claire j'en suis désolée...
__________________
MaLainDa

N'hésitez pas à chatter avec nous sur #Génération-NT@irc.worldnet.net (client irc) ou Par Java



Dernière modification par MaLainDa 12/04/2008 à 11h10.
MaLainDa est déconnecté   Réponse avec citation