Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > Dojo
Dojo Forum d'entraide sur le framework Dojo
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/11/2006, 15h11   #1
Membre habitué
 
Inscription : février 2004
Messages : 161
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : février 2004
Messages : 161
Points : 114
Points : 114
Par défaut [Debutant] Recherche et affichage en liste

Bonjour à tous.

Je commence juste à developper en AJAX. j'ai fait un tour sur les tuto et sur les divers ressources que j'ai trouvé sur le net. Seulement voilà, je n'arrive pas vraiment à m'en sortir.

Voilà ma situation.
J'ai une page php avec un formulaire. Dans ce formulaire un champ societe. Sur le onBlur de ce champs, je dois ouvrir un pop up qui me propose une liste de societe qui commence par la valeur du champ (WHERE societe LIKE '$valeur%').
Cette liste doit être de 10 societes puis on doit pouvoir faire suivant ou cliquer sur le numero des pages.
L'affichage comprend un lien sur le nom de la société. Au click sur ce lien, ça ferme le pop up et ça rempli le champ Societe de la page principale avec le nom de la liste qui a été cliqué.

Voilà maintenant des bouts de code.

Ma page principale :
Code :
1
2
3
4
5
6
7
8
9
10
 
function popup()
{
if(document.form.societe.value != "")
    {
        newpage=open("/Devis/rechercheSociete/societe/"+document.form.societe.value,'newpopup','width=400,height=400,left=300,top=150,toolbar=no,scrollbars=no,resizable=no');
    }
 
}
<input type="text" size="20" name="societe" onBlur="popup()">
Le formatage des url vient du fait que j'utilise le framework Zend.

Ma page popup :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
 
<html>
<head>
<script type='text/javascript'>
    var xhr = null; 
    if(window.XMLHttpRequest) // Firefox et autres
       xhr = new XMLHttpRequest(); 
    else if(window.ActiveXObject){ // Internet Explorer 
       try {
          xhr = new ActiveXObject("Msxml2.XMLHTTP");
       } catch (e) {
          xhr = new ActiveXObject("Microsoft.XMLHTTP");
       }
    }
    else { // XMLHttpRequest non supporté par le navigateur 
       alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
       xhr = false; 
    } 
 
    xhr.open("POST", "ajaxSociete.php", true); 
 
    xhr.onreadystatechange = function() { 
    if(xhr.readyState == 4) 
       eval(xhr.responseText); 
    } 
 
    xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
    xhr.send(tab_client);
 
 
</script>
 
</head>
<body>
<form name="form">
<input type="hidden" name="societe_client" value="a"><input type="hidden" name="affiche" value="1">
</form>
</body></html>
Une troisième page qui contient ma requete SQL :

Code :
1
2
3
4
5
6
7
8
9
10
 
header('Content-type: text/html; charset=iso-8859-1'); 
require 'connect.php';
 
    $query  = "SELECT * FROM client LIKE '".$_POST["societe"]."%'"; 
    $result = mysql_query($query); 
 
    echo 'var tab_client[]';
    while($r = mysql_fetch_array($result)) 
        echo 'tab_client[1][id]"'.$r["id_client"].'");';
Voilà ce que j'ai réussi à faire...
Mais bon rien ne fonctionne.

Quelqu'un pourrait il m'aider un peu et orienter mes recherches.
Merci d'avance.
eowene est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2006, 14h31   #2
Expert Confirmé Sénior
 
Avatar de denisC
 
Inscription : février 2005
Messages : 4 069
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2005
Messages : 4 069
Points : 4 698
Points : 4 698
Citation:
Envoyé par eowene
Voilà ce que j'ai réussi à faire...
Mais bon rien ne fonctionne.

Quelqu'un pourrait il m'aider un peu et orienter mes recherches.
Merci d'avance.
Qu'est ce qui ne fonctionne pas, plus précisement?

Ta liste de société est-elle tellement grande (>5000) pour que tu fasses appel à Ajax?
denisC est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2006, 14h43   #3
Membre habitué
 
Inscription : février 2004
Messages : 161
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : février 2004
Messages : 161
Points : 114
Points : 114
Non, ma liste de société n'est pas supérieure à 5000 mais si je veux faire plusieurs pages de réponse sans recharger ma pages à chaque fois, je dois bien utiliser AJAX, non ?!
eowene est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2006, 14h51   #4
Expert Confirmé Sénior
 
Avatar de denisC
 
Inscription : février 2005
Messages : 4 069
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2005
Messages : 4 069
Points : 4 698
Points : 4 698
Citation:
Envoyé par eowene
Non, ma liste de société n'est pas supérieure à 5000 mais si je veux faire plusieurs pages de réponse sans recharger ma pages à chaque fois, je dois bien utiliser AJAX, non ?!
Pas forcément. Tu peus très bien envoyer l'ensemble de tes données dès le début mais ne les afficher que partiellement.

Si ton volume de données est faible (je dis 5000 mais c'est un ordre d'idée), typiquement si tu as moins de 10 pages, mieux vaut tout envoyer une fois pour toute et faire en sorte que javascript n'affiche qu'une partie de l'information (en gérant la pagination).
denisC est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2006, 15h00   #5
Membre habitué
 
Inscription : février 2004
Messages : 161
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : février 2004
Messages : 161
Points : 114
Points : 114
En fait, j'ai jusqu'à 450 pages de réponses suivant ce que je recherche. Là j'ai le problème pour les société mais je veux adopter le meme principe avec des articles, etc...
Donc je pense que ça va faire un peu lourd d'envoyer toutes ces infos en même temps.
Seulement, je ne connais pas bien l'Ajax...

Bref, j'ai utilisé la TurboGrid de Dojo pour pouvoir traiter mes données plus facilement.

Cette TurboGrid est bien mais je ne sais pas trop ou aller modifier la feuille de style pour l'assortir à mon site.

Si quelqu'un a des infos.

Sinon pour ma première question, je serait tout de meme ravie de pouvoir en apprendre plus sur l'Ajax mais j'ai compris certains trucs en utilisant la turbo grid...
eowene est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h45.


 
 
 
 
Partenaires

Hébergement Web