Page 1 sur 2
un bouton pour executer un requete
Posté : 02 avr. 2005, 10:49
par arno77
J'essai de faire en sorte qu'en cliquant sur un bouton une requete s'execute.
Ce que je veux faire dans cette requete c'est modifier la valeur d'un champs
voici un bout de code
[html]
echo "<input name="changer en oui" type="button" onClick="mysql_query("update articles SET au panier='oui'")">";
[/html]
C'est la premiere fois que j'essaie ca est c'est pas une reussite
Merci
Posté : 02 avr. 2005, 11:20
par ouckileou
ça ne marchera pas car ici tu mélanges du javascript ( onClick=" ) et du PHP (mysql_query())
Posté : 02 avr. 2005, 11:22
par arno77
comment je dois m'y prendre alors?????????
Posté : 02 avr. 2005, 11:22
par flitox
La fonction ne contient pas directement le traitement dans un
onclick()
Dans le
onclick() tu passes juste les paramètres qui serviront pour le traitement
dans ta fonction.
exemple :
<?php
$titre = "Un joli code PHP écrit par flitox";
$titre = coupure($titre);
//fonction pour couper les titres trop longs
function coupure($recuptitre)
{
if (strlen($recuptitre) > 10)
{
$titre = substr($recuptitre, 0, 10)."...";
}
else
{
$titre = $recuptitre;
}
return($titre);
}
echo $titre;
//Affiche : Un joli co...
?>
Ca c'est une fonction correctement executée
Tiens je vais me la garder sous la main celle là ^^
Posté : 02 avr. 2005, 11:59
par ouckileou
oui mais tu ne lui dis pas comment l'appeler directement son bouton
tu ne peux pas appeler une fonction PHP directement depuis le Javascript, il te faut recharger la page pour que le PHP s'exécute
Posté : 02 avr. 2005, 12:02
par flitox
erreur, erreur

Posté : 02 avr. 2005, 12:12
par ouckileou
excuse moi mais j'ai du mal à suivre là
coupure() est une fonction PHP et tu va l'appeler directement par le onClick ??
Posté : 02 avr. 2005, 12:44
par arno77
est ce que je peut mettre un update dans la fonction qui agirait en fonction de la ligne dans laquelle je suis?????
Posté : 02 avr. 2005, 15:05
par arno77
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
Posté : 02 avr. 2005, 15:43
par thierry
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
Posté : 02 avr. 2005, 17:34
par arno77
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
Posté : 02 avr. 2005, 17:45
par arno77
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??????????????????
Posté : 02 avr. 2005, 17:57
par thierry
ce que je voudrais c'est modifier un champs de la table pour un enregistrement unique en cas d'action client
comprend pas

Posté : 02 avr. 2005, 18:03
par arno77
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
Posté : 02 avr. 2005, 18:14
par iclo
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.