par
Phil93 » 05 mars 2007, 16:22
Salut,
Débutant en PHP, je voudrais savoir s'il existe une petite astuce pour :
Sur une page contenant un formulaire avec une liste déroulante (venant d'une base sql), permettre à l'utilisateur d'ajouter un nouvel élément venant s'incrémenter automatiquement dans la liste sans rachrachir la page et ainsi garder les informations saisies dans les autres champs du formulaire.
Oui, il existe une astuce : que tu te familiarises avec le concept client/serveur. Que tu comprennes où travaille PHP et où travaille Javascript. Tant que ça ne sera pas clair dans ta tête, tu n'arriveras à rien, et tu réfléchiras forcément de travers.
Ensuite, l'astuce que j'utilisais moi, avec l'Ajax, pour faire ce genre de chose (même si les valeurs des champs de formulaire ne sont jamais perdues au rechargement, reloader la page, c'est toujours moche, je te comprends), c'était de lancer un petit module PHP en arrière-plan, qui se chargeait d'enregistrer la nouvelle donnée (que je transmettais bien sûr par l'url).
Code : Tout sélectionner
Processus :
— L'utilisateur entre une nouvelle valeur et clique « OK »
— Une fonction javascript est invoquée et lit la valeur
— Elle ouvre une nouvelle fenêtre (que je m'arrangeais pour ouvrir
avant en fait) en passant la nouvelle valeur avec un truc du
genre :
window.open("enregistreCa.php?newValue=C'est chouette", "modAP");
— Le module "enregistreCa.php" était chargé dans la fenêtre qui
s'appelait 'modAP' (pour « module Arrière-plan »), prenait la nouvelle
valeur (newValue) et se chargeait en PHP de l'introduire dans la
base.
En espérant que ça t'inspire des solutions…
Bien à toi et bonne chance,
Phil
Salut,
[quote="Jumano"]
Débutant en PHP, je voudrais savoir s'il existe une petite astuce pour :
Sur une page contenant un formulaire avec une liste déroulante (venant d'une base sql), permettre à l'utilisateur d'ajouter un nouvel élément venant s'incrémenter automatiquement dans la liste sans rachrachir la page et ainsi garder les informations saisies dans les autres champs du formulaire.
[/quote]
Oui, il existe une astuce : que tu te familiarises avec le concept client/serveur. Que tu comprennes où travaille PHP et où travaille Javascript. Tant que ça ne sera pas clair dans ta tête, tu n'arriveras à rien, et tu réfléchiras forcément de travers.
Ensuite, l'astuce que j'utilisais moi, avec l'Ajax, pour faire ce genre de chose (même si les valeurs des champs de formulaire ne sont jamais perdues au rechargement, reloader la page, c'est toujours moche, je te comprends), c'était de lancer un petit module PHP en arrière-plan, qui se chargeait d'enregistrer la nouvelle donnée (que je transmettais bien sûr par l'url).
[code]
Processus :
— L'utilisateur entre une nouvelle valeur et clique « OK »
— Une fonction javascript est invoquée et lit la valeur
— Elle ouvre une nouvelle fenêtre (que je m'arrangeais pour ouvrir
avant en fait) en passant la nouvelle valeur avec un truc du
genre :
window.open("enregistreCa.php?newValue=C'est chouette", "modAP");
— Le module "enregistreCa.php" était chargé dans la fenêtre qui
s'appelait 'modAP' (pour « module Arrière-plan »), prenait la nouvelle
valeur (newValue) et se chargeait en PHP de l'introduire dans la
base.
[/code]
En espérant que ça t'inspire des solutions…
Bien à toi et bonne chance,
Phil