un bouton pour executer un requete

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : un bouton pour executer un requete

par arno77 » 04 avr. 2005, 18:35

merci à tous

par thierry » 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 ?

par ouckileou » 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... :?

par ImBrOgLiO » 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.

par arno77 » 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???

par ImBrOgLiO » 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>

par iclo » 02 avr. 2005, 18:14

Quoi que tu fasses, il faudra que tu submites ton formulaire ( soit directement par un bouton submit, soit pas une fonction Javascript quelquonce qui fera le submit)
Lors que tu rechargera ton fichier php tu exécuteras ton update sur ta base de donnée.

par arno77 » 02 avr. 2005, 18:03

en fait une table de trois champs apparait suivi d'un bouton

nom prenom sexe le bouton

je voudrais que l'utilisateur puisse changer le sexe dans la base en cliquant sur le bouton qui à sexe= HOMME par defaut

par thierry » 02 avr. 2005, 17:57

ce que je voudrais c'est modifier un champs de la table pour un enregistrement unique en cas d'action client
comprend pas :shock:

par arno77 » 02 avr. 2005, 17:45

il doit bien y avoir une methode pour executer une requete en cliquant sur un bouton sans pour autant quitter la page php sur laquelle on est??????????????????

par arno77 » 02 avr. 2005, 17:34

comment je fais pour executer une requete seulement s'il y a une action du côté client

ce que je voudrais c'est modifier un champs de la table pour un enregistrement unique en cas d'action client

par thierry » 02 avr. 2005, 15:43

salut,

comme te l'as dit ouckileou, tu ne peux pas appeler une fonction php à partir de javascript (ou alors faut vraiment que tu bricole pour pas grand chose et de toute manière tu seras obligé de retourner côté serveur).

voila un lien sur le fonctionnement de php :
http://phpdebutant.org/article118.php

maintenant si tu veux exécuter une requête suite à un click sur un bouton de ta page :

Code : Tout sélectionner

<form method="post" action="ta_page_avec_le_code_de_ta_requête.php"> <input type="submit" value="exécuter un requête"> </form>
thierry

par arno77 » 02 avr. 2005, 15:05

voila un bout de code j'aimerais savoir s'il est correct??? ce qui m'etonnerai puisque le message d'erreur apparait.
Si quelqu'un peut m'orienter je pedale dans la semoule

<?php
echo "<input name=\"changer\" type=\"button\" value=\"changer\" onclick=\"changer()\">";


function changer( ){
mysql_query("update articles set au_panier='oui' where reference=".$row);
}

?>

Fatal error: Cannot redeclare changer() (previously declared in c:\program files\easyphp1-7\www\essai\tab1.php:50) in c:\program files\easyphp1-7\www\essai\tab1.php on line 49

par arno77 » 02 avr. 2005, 12:44

est ce que je peut mettre un update dans la fonction qui agirait en fonction de la ligne dans laquelle je suis?????

par ouckileou » 02 avr. 2005, 12:12

excuse moi mais j'ai du mal à suivre là :)

coupure() est une fonction PHP et tu va l'appeler directement par le onClick ??