un bouton pour executer un requete

Eléphant du PHP | 205 Messages

02 avr. 2005, 18:37

Cette question a été abordée ici à quelques reprises.

OUI c'est faisable d'exécuter une requête PHP/mySQL sans recharger la page. Il suffit d'avoir une fonction javascript et des <div> contenant la ou les requêtes. Voici un exemple à titre d'illustration seulement et qui peut être adapté au besoin, à l'infini...

Javascript

Code : Tout sélectionner

<script language="javascript"> function SelectF(Val) { if (Val == 'Continent') { document.getElementById('Continent').style.display = 'inline'; document.getElementById('Pays').style.display = 'none'; } else if (Val == 'Pays') { document.getElementById('Continent').style.display = 'none'; document.getElementById('Pays').style.display = 'inline'; } else { document.getElementById('Continent').style.display = 'none'; document.getElementById('Pays').style.display = 'none'; } } </script>
Partie de formulaire:

Code : Tout sélectionner

<select onChange="SelectF(this.value);"> <option value="">Faites un choix...</option> <option value="Continent">Continent</option> <option value="Pays">Pays</option> </select>
Et les dividers là où on les voudrait:
<!--	Continent	-->
<div id="Continent" style="display:none; ">
<?php
//  Requête, résultats, affichage.... 
?>
</div>

<!--	Pays	-->
<div id="Pays" style="display:none; ">
<?php
// Ça peut être un include de fichier contenant la requête
include_once("repertoire/fichier_de_requête.php"); 
?>
</div>
Si vous pensez que l'éducation coûte cher, essayez l'ignorance!

Eléphant du PHP | 130 Messages

02 avr. 2005, 20:06

Je ne connais pas du tout le javascript
est ce que tu peux m'expliquer ce que ça fait et à quoi les terme correspondent???

Eléphant du PHP | 205 Messages

02 avr. 2005, 20:25

Bah c'est pas évident...J'ai juste essayé d'illustrer que c'était possible. MAIS, il est difficile de généraliser, ça dépend des besoins de chacun.

La structure est généralement la suivante, en termes simples:

1- Le code javascript s'occupe de la redirection selon le ou les choix qui vont s'effectuer plus tard dans ton formulaire...C'est un exemple seulement, et ça dépendra de ce que tu voudras faire dans ton propre cas: saisir des données, récupérer des données, est-ce des choix multiples ou uniques, est-ce un input de l'utilisateur, etc...

2- Le formulaire:
Fait appel via onChange="Fonction" au javascript dépendemment des choix effectués.

3- La ou les requêtes:
Sont des <div> là où voudrait les voir apparaître, en fonction des choix effectués dans le formulaire.

Comme je le disais, cici peut être paramétrable à souhait, dépendemment des besoins.
Si vous pensez que l'éducation coûte cher, essayez l'ignorance!

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

02 avr. 2005, 22:27

une fois la page complètement chargée, le simple fait d'afficher une <div> contenant du code PHP et une requête SQL te permettra de manipuler la base sans recharger la page ?

si tu dis que ce problème a déjà été soulevé je veux bien te croire mais alors j'ai franchement du mal à comprendre comment ça peut marcher... :?

Eléphant du PHP | 287 Messages

02 avr. 2005, 23:40

est ce que tu veux dire que seul ce qui est entre le div (celui qui a la propriété display à inline) repart vers le serveur et pas le reste de la page ?

Eléphant du PHP | 130 Messages

04 avr. 2005, 18:35

merci à tous