le truc c est que si dans ta page en direct dans le navigateur t'as un request vide, tu iras pas bien loin ...
le code js à l'air correct donc c'est juste un soucis de récupération de ton GET de #### (excuse c'est l heure)
je re-regarde ton php
le truc c est que si dans ta page en direct dans le navigateur t'as un request vide, tu iras pas bien loin ...
le code js à l'air correct donc c'est juste un soucis de récupération de ton GET de #### (excuse c'est l heure)
je re-regarde ton php
ok mais ca urge pas !![]()
appel.php
Personnellement, je la trouve tout à fait correcte cette requête et j'en ai consommée des tas comme ça. lllooll
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 <?php require 'ma_connex.inc.php'; $results = mysql_query ("SELECT * FROM matable WHERE refer = '".$_GET['refer']."'"); while ($tri = mysql_fetch_array($results)) { ?> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <table> <tr><td><?php echo $tri['refer'];?><br> <? echo $tri['ord']; ?><br> <? echo $tri['type']; ?><br> <? echo $tri['nom']; ?><br> <? echo $tri['tel']; ?><br> </td></tr> </table> <? } mysql_close(); ?>
Je pense que c'est plutôt dans l'index que ça cafouille.
index.php
Comme tu peux le voir, j'ai utilisé 2 liens différents pour le test.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script type='text/JavaScript'> function mafonction('appel.php?refer=$refer'){ if(xhr_object){ xhr_object.onreadystatechange = function(){ if(xhr_object.readyState == 4 && xhr_object.status == 200){ document.getElementById('mondiv').innerHTML = xhr_object.responseText; } } xhr_object.open("GET","appel.php?refer="+ refer,true); xhr_object.send(null); } else // xhr_objectn'existe pas alert("Probleme !"); } </script> </head> <body> <?php // variable de test, existante dans ma table $refer="test"; ?> <a href="index.php?refer=$refer">Voir</a> <a href="#" onclick="mafonction('index.php?refer=$refer&ord=$ord&type=$type&nom=$nom&tel=$tel')">$refer</a> <div id='mondiv'></div> </body> </html>
Et pour être sûr, j'ai même attribué une variable à $refer.
En l'occurence "test" qui existe bien dans ma table....si si !![]()
alors,
enlèves la balise meta de appel car si tu utilises responseText, il faut pas envoyer le retour en xml
donc appel :
ensuite :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 <?php require 'ma_connex.inc.php'; $results = mysql_query ("SELECT * FROM matable WHERE refer = '".$_GET['refer']."'"); while ($tri = mysql_fetch_array($results)) { ?> <table> <tr><td><?php echo $tri['refer'];?><br> <? echo $tri['ord']; ?><br> <? echo $tri['type']; ?><br> <? echo $tri['nom']; ?><br> <? echo $tri['tel']; ?><br> </td></tr> </table> <? } mysql_close(); ?>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script type='text/javascript'> function mafonction(lien){ if(xhr_object){ xhr_object.onreadystatechange = function(){ if(xhr_object.readyState == 4 && xhr_object.status == 200){ document.getElementById('mondiv').innerHTML = xhr_object.responseText; } } xhr_object.open("GET",lien,true); xhr_object.send(null); } else // xhr_objectn'existe pas alert("Probleme !"); } </script> </head> <body> <?php // variable de test, existante dans ma table $refer="test"; echo "<a href='appel.php?refer=$refer'>Voir</a>"; echo "<a href='#' onclick='mafonction(\"appel.php?refer=".$refer."\")'>$refer</a>"; ?> <div id='mondiv'></div> </body> </html>
Oui Siddh, mais je viens de me rendre compte qu'en finalité la partie JS ne joue aucun rôle, utilisé de cette façon.
On est dans le cas présent dans le cadre d'une syntaxe classique PHP (lien+passage de parametre et affichage, sans qu'intervienne la partie JS.
Je m'explique :
Déjà seul le lien suivant et fontionnel :
Et la résultante est logique, puisqu'on demande au fichier (appel.php) d'afficher le résultat relatif à $refer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo "<a href='appel.php?refer=$refer'>Voir</a>";
Le résultat est d'ailleurs affiché dans appel.php et non pas le <div> du fichier index.
J'ai supprimé la partie JS pour refaire un test, et j'obtiens la même chose, au demeurant logique, soit l'affichage dans appel.php.
Donc JS ne remplit pas son rôle.
C'est qu'on appelle, un retour à la case départ.![]()
En résumé, pour confirmer le fait que la partie JS remplit son rôle de "chargement", le résultat issu de la page appel.php devrait s'afficher dans le <div>.
Dans ce cas de figure, on serait bien dans un contexte xmlhttp.![]()
oui on est d'accord mais la le but c est de tester le deuxieme lien
avec mon code ça donne quoi ?
C'est justement ton dernier code que j'ai utilisé, mes derniers commentaires s'y rapportent..
Aussi dans JS, cette ligne là ne m'inspire pas, je t'avouerais.
Je ne vois pas trés bien comment js peut interpréter le fait qu'il faut charger tous les éléments relatifs à $refer, et sans connaître l'url.
Code : Sélectionner tout - Visualiser dans une fenêtre à part xhr_object.open("GET",lien,true);
Pour cette raison, au départ, je faisais référence à une ligne du genre :
Ce qui me semblait plus adapté pour le "prechargement".
Code : Sélectionner tout - Visualiser dans une fenêtre à part xhr_object.open("GET","appel.php?refer=" +refer ,true);
Pas évident tout ça !![]()
on passe l'url en appelant la fonction.
Code : Sélectionner tout - Visualiser dans une fenêtre à part onclick='mafonction(\"appel.php?refer=".$refer."\")'
et dans la fonction on appel ce qu'on reçoit "lien" :
et ensuite on l'utilise
Code : Sélectionner tout - Visualiser dans une fenêtre à part function mafonction(lien){
Bonsoir Siddh
Bon, je suis à 2 doigts d'avoir la solution.![]()
J'ai pu récupérer quelques codes XHR ici et là et que j'ai modifiées.
Et au lieu de les afficher dans un simple div, je pourrai même les faire apparaître dans une fenêtre, ce qui est encore plus confortable.
Tu te souviens quand j'évoquais :
Il est des cas spécifiques où l'utilisation d'un id (auto-incrémenté) est à proscrire car celà ne correspond pas, ou plus à la philosophie de l'application
Apparemment, celà serait une source de probléme.
Pour cette raison, la ligne suivante serait forcemment source de non-fonctionnement.
Alors que celle-ci est plus viable, puisque id est défini comme un élément unique.
Code : Sélectionner tout - Visualiser dans une fenêtre à part xhr_object.open("GET","appel.php?refer=" + refer, true);
Ce qui n'est pas le cas pour "refer" étant donné qu'il peut figurer plusieurs dans une table....donc bug !
J'ai fait des premiers tests en rajoutant un id (unique) dans ma table, et avec ce nouveau code XHR "bidouillé", ça fonctionne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part xhr_object.open("GET","appel.php?id=" + id, true);
Bon, je n'avais pas forcemment besoin de cet id dans ma table, mais je lui pardonnerai.![]()
La seule chose qui m'emm..", c'est que l'id doit être obligatoirement affiché. (grrrrr)
Ca ne m'arrange pas qu'il figure dans les résultats de la requête.
Si j'essaye de le passer dans un type hidden, ca ne marche plus.
Je vais refaire des tests, et je mettrai ma source.
Partager