begin process at 2010 09 03 08:36:11
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ColdFusion

 > 

Base de données

 > 

Autre

 > 

Utiliser les données d'un Cfquery avec AJAX


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Utiliser les données d'un Cfquery avec AJAX

mardi 29 juillet 2008 à 12:04:22 | Utiliser les données d'un Cfquery avec AJAX

Timwaz

Lut à tous,

Grâce aux bonnes âmes de ce site j'ai réussi à adapter un système d'autocompletion.

Nickel ... à part que celui utilise dans l'exemple un tableau java

suggests = new Array('aaaa','aaab','aabb','abbb','abbc','0000','0001','0011','0111','0112');

Evidement  ce que je veux c'est utiliser les données d'un Cfquery

Ma question est donc simple. Peux t'on transférer les données issues de mon cfquery vers un tableau
java

suggests = new Array(LES DONNEES RESULTANTES DE MON CFQUERY);

Pff dur dur les débuts dans le monde de la prog

Par avance merci les gars
mardi 29 juillet 2008 à 13:11:23 | Re : Utiliser les données d'un Cfquery avec AJAX

nickadele

Membre Club Administrateur CodeS-SourceS
Re,

tu as plusieurs solution pour renvoyer les données à l'utilisateur :
- sous forme XML qu'il faudra remettre en page coté client
- Jquery qu'il faudra remettre en page coté client
- Array qu'il faudra remettre en page coté client
...autres formats
- formaté directement en HTML (ex: un tableau) qu'il suffit de placer dans un conteneur coté client

Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle
Mon Blog
mardi 29 juillet 2008 à 14:23:25 | Re : Utiliser les données d'un Cfquery avec AJAX

Timwaz

 Je pensais m'en sortir avec un truc du style

<cfloop query = "ListeGlobFR">
   #ArrayAppend(suggests, "#Nom# #Téléphone# #Portable#")#
</cfloop>

dans la mesure où je n'ai pas besoin de mise en page particulière et que la seule chose que je veux c'est remplir un tableau java avec les données issues du query

Merci
mardi 29 juillet 2008 à 14:58:21 | Re : Utiliser les données d'un Cfquery avec AJAX

nickadele

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Re,

<cfloop query = "ListeGlobFR">
   #ArrayAppend(suggests, "#Nom# #Téléphone# #Portable#")#
</cfloop>
<cfreturn suggest/>


et que la seule chose que je veux c'est remplir un tableau java >> Javascript tu veux dire ???
Mais je suppose que tu souhaites afficher ton tableau javascript ?
Dans ce cas tu auras plus simple en récupérant ton tableau au format HTML (<table><tr>....), tu n'auras pas à faire la mise en page coté client !

Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle
Mon Blog
mardi 29 juillet 2008 à 15:26:10 | Re : Utiliser les données d'un Cfquery avec AJAX

Timwaz

Javascript oui :-)

Et non je ne veux pas l'afficher, il va juste servir à alimenter l'affichage fait par l'autocompletion (javascript trouvé sur ce site, et mes histoires de menus dynamiques où tu m'as déjà pas mal aidé)

J'ai cependant trouvé un petit lien qui explique tous ça pous CS8, je vais tenter d'adapter ça à mon cas.

[ Lien ]

Merci
mercredi 30 juillet 2008 à 11:36:16 | Re : Utiliser les données d'un Cfquery avec AJAX

Timwaz

Lut,

Encore un petite question pour finaliser tous ça

J'ai un fichier cfc qui contient le code suivant

<cfcomponent output="false">
<cfset THIS.dsn="cfartgallery">
<cffunction name="getChoose" access="remote" returnType="array">  
 <cfset var suggests=ArrayNew(2)>
 <cfset var i=0>
 <cfquery name="ListeGlobFR" datasource="Access">
  SELECT Nom, Téléphone, Portable
  FROM Personnel
  ORDER BY Nom ASC
 </cfquery>
 <cfloop index="i" from="1" to="#ListeGlobFR.RecordCount#">
      <cfset suggests[i][1]=ListeGlobFR.Nom[i]>
      <cfset suggests[i][2]=ListeGlobFR.Téléphone[i]>
  <cfset suggests[i][3]=ListeGlobFR.Portable[i]>
 </cfloop>   
 <cfreturn suggests>
</cffunction>
</cfcomponent>

Un fichier cfm qui contient

<cfobject component="getChoose" name="analyse">
<cfinvoke component="getChoose" method="getChoose" returnvariable="suggests"> </cfinvoke>
<cfdump var = "#suggests#" >


Le cfdump m'affiche bien le contenu de #suggests# sous entendu (ce que je comprend en fait lol) que ma fonction à bien ajouter les datas du cfquery dans
un tableau nommé suggests.

Alors Pkoi ma fonction javasript n'arrive pas à utiliser ce tableau et que pour IE
suggests est indéfini ? Le fait de retourner le tableau suggests comme résultat
ne suffit pas pour être utilisé ?

Par avance merci


function showValue(inside)
{
 divDest      = document.getElementById('menuRightHidden');
 divDest.innerHTML   = '';
 valueOfElement    = '';
 exist      = 0;
 nbOfElement     = 0;
 divDest.style.top   = positionAbsolute(inside, 'top') + inside.offsetHeight;
 divDest.style.left   = positionAbsolute(inside, 'left');
 divDest.style.width   = inside.offsetWidth - 3;
   
 for (i = 0; i < suggests.length; i++)
 {
  if (suggests[i].indexOf(inside.value) == 0 && inside.value != '')
  {
   nbOfElement++;
   exist     = 1;
   valueOfElement   = suggests[i];
   currentDiv    = document.createElement("div");
   currentInner   = document.createTextNode(suggests[i]);
   currentDiv.indice  = suggests[i];
   currentDiv.className = 'currentDiv';
   currentDiv.onclick  = function()
   {
    inside.value = this.indice;
    divDest.style.visibility = 'hidden';
   }
   currentDiv.appendChild(currentInner);
   divDest.appendChild(currentDiv);
  }
 }
 if (exist == 0 || (valueOfElement.length  == inside.value.length && nbOfElement == 1))
  divDest.style.visibility = 'hidden'
 else
  divDest.style.visibility = 'visible';
}

mercredi 30 juillet 2008 à 12:18:57 | Re : Utiliser les données d'un Cfquery avec AJAX

nickadele

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Re,

c'est normal puisque "suggests" est déclaré coté serveur.
Ce que le serveur renvoie c'est un array et non un array nommé "suggests".

Peux-tu me dire quand et comment est appelées ta fonction javascript "ShowValue" ?

Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle
Mon Blog
mercredi 30 juillet 2008 à 13:30:29 | Re : Utiliser les données d'un Cfquery avec AJAX

Timwaz

Plusieurs fonctions (voir ci dessous) en fait avec un appel dans le cfm (la seule chose qu'il y a d'ailleurs)

<table width="400" height= "30" border="1">
   <tr>
    <td>
     <div align="center"><input onkeyup= "showValue(this);" /></div>
    </td>
    <td>
     <div align="center"></div></td>
   </tr>
</table>

Si on ajoute cette ligne ça fonctionne, (puisque le tableau existe coté client est ce ça ?)

suggests = new Array('aaaa','aaab','aabb','abbb','abbc','0000','0001','0011','0111','0112');

Donc comment la faire exister coté client ?????? Je sèche complet sur le sujet
HELP



FONCTIONS

function positionAbsolute(obj, mode)
{
 currentValue = 0;
 if (obj.offsetParent)
 {
  if (mode == 'top')
   currentValue = obj.offsetTop;
  else if (mode == 'left')
   currentValue = obj.offsetLeft;
  while (obj = obj.offsetParent)
   if (mode == 'top')
    currentValue += obj.offsetTop;
   else if (mode == 'left')
    currentValue += obj.offsetLeft;
 }
 return currentValue;
}
  
function showValue(inside)
{
 divDest      = document.getElementById('menuRightHidden');
 divDest.innerHTML   = '';
 valueOfElement    = '';
 exist      = 0;
 nbOfElement     = 0;
 divDest.style.top   = positionAbsolute(inside, 'top') + inside.offsetHeight;
 divDest.style.left   = positionAbsolute(inside, 'left');
 divDest.style.width   = inside.offsetWidth - 3;
   
 for (i = 0; i < suggests.length; i++)
 {
  if (suggests[i].indexOf(inside.value) == 0 && inside.value != '')
  {
   nbOfElement++;
   exist     = 1;
   valueOfElement   = suggests[i];
   currentDiv    = document.createElement("div");
   currentInner   = document.createTextNode(suggests[i]);
   currentDiv.indice  = suggests[i];
   currentDiv.className = 'currentDiv';
   currentDiv.onclick  = function()
   {
    inside.value = this.indice;
    divDest.style.visibility = 'hidden';
   }
   currentDiv.appendChild(currentInner);
   divDest.appendChild(currentDiv);
  }
 }
 if (exist == 0 || (valueOfElement.length  == inside.value.length && nbOfElement == 1))
  divDest.style.visibility = 'hidden'
 else
  divDest.style.visibility = 'visible';
}
  
function initMenuRightDiv()
{
 menuRightDiv   = document.createElement("div");
 menuRightDiv.className = 'hiddenDiv';
 menuRightDiv.id   = 'menuRightHidden';
 window.document.body.appendChild(menuRightDiv);
}
  
window.onload = initMenuRightDiv;
</script>
mercredi 30 juillet 2008 à 14:05:02 | Re : Utiliser les données d'un Cfquery avec AJAX

nickadele

Membre Club Administrateur CodeS-SourceS
Pour résumé le principe avec Ajax dans ton cas de figure :
1. L'utilisateur encode une valeur à rechercher
2. Une fonction javascript récupère la valeur et la transmet au serveur.
   -Lors de l'envoie via Ajax, tu dois définir quelle fonction va récupérer la valeur renvoyée par le serveur.
3. Traitement au niveau du serveur.
4. Le serveur renvoie le résultat au client.
5. La fonction déclarée au point 2 récupère les données envoyées par le serveur.
6. Traitement coté client pour afficher le résultat.

Dans le code ci-dessus je ne voit pas l'appel Ajax que tu fais !

Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle
Mon Blog
mercredi 30 juillet 2008 à 14:11:14 | Re : Utiliser les données d'un Cfquery avec AJAX

nickadele

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Pour en savoir plus sur Ajax et XMLHTTPRequest

[ Lien ]

Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle
Mon Blog

1 2

Cette discussion est classée dans : données, utiliser, ajax, array, cfquery


Répondre à ce message

Sujets en rapport avec ce message

Utiliser un email pour remplir un formulaire connecté à une base de données [ par mco ] Bonjour-1 Utiliser un formulaire en CFM pour remplir une base de données (ACCESS) dans IE, c'est OK (avec la form action http://monsite/fich.cfm)- 2 U récupérer des données d'un fichier xml [ par holdup ] Bonjour, je voudrais récupérer une liste de données à partir d'un fichier XML afin de les insérer dans une table.Le probleme c'est que j'y connais rie migration de oracle vers mysql [ par thara ] Bonjour,je veux transférer des données (des enregistrements) d'une base de données oracle vers une base de données mysql?que dois-je faire?merci. Recup les infos d'un array depuis un CFC [ par neo7d ] Comment arriver à afficher les infos retournées par un cfinvkoe d'un CFC dans une page CFM sachant que celui-ci retourne les infos sous forme d'un tab Comment utiliser Verity Spider [ par Ajenim ] Bonjour,Comme indiqué dans le titre je cherche le moyen d'indexer des urls avec vspider mais je n'y arrive pas. J'ai pourtant regardé la documentation utiliser un include dans une page pour afficher une page d'un autre site ? [ par tanbeo ] Bonjour,Je découvre le coldfusion et donc ma question va peut être vous paraître bizarre !J'ai actuellement une page constituée uniquement avec des In [Deplacé] access 97 [ par Augles ] Est ce que quelqu'un peut me dire si il ya moyen de trouver 1 mot ou une phrase dans la base de données d'access 97 (hors tables) d'une maniere rapide base de données en c++ [deplace] [ par helptobehelped ] salut tout le monde,j'ai un petit projet à faire qui concerne la création d'une base de données en c++ builder6.j'ai deja fais des petits programmes s liste déroulante [ par pancratee ] bonjour à tous. Je suis novis en développement. J'ai crée une base de données acces, des formulaires html. J'ai un serveur coldfusion. Je souhaite rem Conversion données en Cold Fusion 5 [ par Mirjana21 ] Bonjour,je récupère les informations dans une base de données qui utilise set de caractères cp850 etles transmets à la base de données cible qui utili


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Septembre 2010
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
27282930   

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,686 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales