Deux évènement avec un click

[Résolu]
Signaler
Messages postés
132
Date d'inscription
mardi 21 juin 2005
Statut
Membre
Dernière intervention
18 juin 2009
-
Messages postés
132
Date d'inscription
mardi 21 juin 2005
Statut
Membre
Dernière intervention
18 juin 2009
-
Bonjour,
J'ai un lien hypertexte qui me permet d'ouvrir la messagerie outlook et d'envoyer un message. Jusque là pas de problème.
J'aimerai rajouter au click sur ce lien un mise à jour de ma base de données.
Enfaite quand je clik sur le lien, je veux qu'il m'ouvre mon message avec mailto et mettre à jour ma base.

Merci d'avance pour votre aide !:)

26 réponses

Messages postés
132
Date d'inscription
mardi 21 juin 2005
Statut
Membre
Dernière intervention
18 juin 2009

c'est bon j'ai trouvé!
enfaite j'ouvre une page php qui em fait la requête c'est tout!

voila ce que ca donne

[mailto:bla@bla.com ');">email me]

<script type="text/javascript">
function go (v)
{
parent.location="update.php?VARAPPEL="+v;
}
</script>

page update :

<?php
// Insertion de la page de connexion à la base de donnée
require_once('Connections/ACI.php');

// Cette page est appelé par la page modif.php lorsque l'utilisateur clique sur le bouton supprimer. Cette page n'est pas visible par l'utilisateur. Elle permet de supprimer l'appel sélectionné par l'utilisateur et de renvoyer vers la page modif.php
$sql "Update APPEL set VISIBLE 1 where NUMAPPEL =".$_GET["VARAPPEL"];
mysql_query($sql) or die("Impossible d'exécuter la requête".$sql);
header("Location: modif.php");

?>

voilou merci pour tous! :)
Messages postés
132
Date d'inscription
mardi 21 juin 2005
Statut
Membre
Dernière intervention
18 juin 2009

eu je vois que personne n'est inspiré pour me répondre...

J'ai peut-êter une idée pour faire deux choses avec un clik!
Enfaite il faudrait que ca appel une fonction php qui fait les deux c'est possible? mais je ne sais pas comment formuler l'ouverture de l'email...
Messages postés
132
Date d'inscription
mardi 21 juin 2005
Statut
Membre
Dernière intervention
18 juin 2009

lol je me répond toute seule ...

peut-être avec un ?
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
24
Hello,

<form ... id="mainForm">
...

...
</form>

<script type="text/javascript">
function go () {
width (document.getElementById('mainForm')) {
//action 1, on ouvre outlook
// action 2 : on soumet le formulaire, cette soumission va permettre la mise à jour de la bdd.
}
}
</script>
Messages postés
132
Date d'inscription
mardi 21 juin 2005
Statut
Membre
Dernière intervention
18 juin 2009

oui mais en javascript comment on écrit mailto?
car enfaite c'est un tableau qui contient plusieurs occurences et quand je clik sur le lien d'une occurence ca récupère des informations de celle-ci et les envoi dans le mailto et je voudrai ajouter la mise à jour d'un champ de l'occurence...
Messages postés
132
Date d'inscription
mardi 21 juin 2005
Statut
Membre
Dernière intervention
18 juin 2009

enfaite je n'est pas besoin d'envoyer le formulaire...
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
24
Tu es obligé de soumettre un formulaire pour faire la mise à jour.
Ok, tu cliques sur ton lien.
Sur ce lien, tu fais ton mailto. Et un évènement onclick, qui va soumettre un formulaire caché, en lui passant 1 ou plusieurs valeurs.
Ces valeurs te serviront pour la mise à jour de te base :

<?php
if (isset ($_POST['updt']) && !empty ($_POST['updt'])) {
echo 'Update db with ', $_POST['updt'], '
';
}
?>
[email me
<form method="post" id="hidfrm">

</form>


<script type="text/javascript">
function go (v) {
with (document.getElementById('hidfrm')) {
updt.value = v;
submit();
}
}
</script>
Messages postés
132
Date d'inscription
mardi 21 juin 2005
Statut
Membre
Dernière intervention
18 juin 2009

je comprend pas trop cette partie de code :

<?php
if (isset ($_POST['updt']) && !empty ($_POST['updt'])) {
echo 'Update db with ', $_POST['updt'], '
';
}
?>


et celle la aussi :

<script type="text/javascript">
function go (v) {
with (document.getElementById('hidfrm')) {
updt.value = v;
submit();
}
}
</script>

ou est ce que je fais ma requête de mise à jour et ou je récupère le paramètre qui identifie l'occurence sélectionné?

Merci!
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
24
Bon, tu fous le paramètre identifiant ici :

[email me

Tu mets ta requête à cette place, et on identifiant est dans cette variable : :

if (isset ($_POST['updt']) && !empty ($_POST['updt'])) {
echo 'Update db with ', $_POST['updt'], '
';
}

Enfin, cette fonction js :

function go (v) {
with (document.getElementById('hidfrm')) {
updt.value = v;
submit();
}
}

va prendre la valeur v que tu lui as passé par ton lien onclick="go ('valeur');" et la mettre dans le champ nommé updt du formulaire dont l'id est hidfrm :

<form method="post" id="hidfrm">

</form>
Messages postés
132
Date d'inscription
mardi 21 juin 2005
Statut
Membre
Dernière intervention
18 juin 2009

d'accord mais ça :

if (isset ($_POST['updt']) && !empty ($_POST['updt'])) {
echo 'Update db with ', $_POST['updt'], '
';
}


ça n'execute pas ma requête!
car il n'y a pas de connexion à la base ...
l'instruction update c'est pas ça?

UPDATE table
SET champ = valeur
WHERE condition

Désolé de ne pas comprendre ... mais je ne voit pas ou il fait la mise à jour enfaite car il renvoi la valeur dans un formulaire invisible enfin je comprend pas trop ...

merci de m'expliqué ...
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
24
C'était un exemple! Je ne vais pas te faire ton update ? ;-)
C'était pour montrer qu'on récupère bien la valeur. Moi je l'affiche, toi tu fais ton update.
J'ai dit :

Tu mets ta requête à cette place, et on identifiant est dans cette variable : :

if (isset ($_POST['updt']) && !empty ($_POST['updt'])) {
echo 'Update db with ', $_POST['updt'], '
';
}

Ca veut dire que tu dois remplacer la partie en rouge.
Messages postés
132
Date d'inscription
mardi 21 juin 2005
Statut
Membre
Dernière intervention
18 juin 2009

Oki je vois c'est ce que j'ai fais mais internet explorer me met une erreur comme koi updt n'est pas définit

voilace que j'ai changer :

<?php
if (isset ($_POST['updt']) && !empty ($_POST['updt']))
{
$sql "Update APPEL set VISIBLE 1 where NUMAPPEL =".$_POST['updt'].";";
$query = mysql_query($sql, $ACI);
//echo 'Update APPEL set VISIBLE 1 where NUMAPPEL', $_POST['updt'], '
';
}
?>
[mailto:bla@bla.com email me]
<form method="post" id="hidfrm">

</form>
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
24
Ben il est où le javascript là ?
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
24
Parce que moi je n'ai pas d'erreur avec IE non plus. (firefox et IE se comportent très bien).
Messages postés
132
Date d'inscription
mardi 21 juin 2005
Statut
Membre
Dernière intervention
18 juin 2009

ben le javascript je en l'ai pas changer! donc je l'ai pas remis!
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
24
Vire le id de ton input hidden, déjà. On en a pas besoin. Ou mets un autre id, pas le même que le nom. Même si ça ne devrait pas poser de pb à priori.
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
24
Bref chez moi, ce code marche (j'ai commenté le mysql_query() hein) :

<?php
if (isset ($_POST['updt']) && !empty ($_POST['updt']))
{echo $sql "Update APPEL set VISIBLE 1 where NUMAPPEL =".$_POST['updt'].";";
//$query = mysql_query($sql, $ACI);//echo 'Update APPEL set VISIBLE 1 where NUMAPPEL', $_POST['updt'], '
';
}
?>
[email me
<form method="post" id="hidfrm">

</form>


<script type="text/javascript">
function go (v) {
with (document.getElementById('hidfrm')) {
updt.value = v;
submit();
}
}
</script>
Messages postés
132
Date d'inscription
mardi 21 juin 2005
Statut
Membre
Dernière intervention
18 juin 2009

<script type="text/javascript">
function go (v) {
with (document.getElementById('hidfrm')) {
updt.value = v;
submit();
}
}
</script>


le voila! mais a mon avis c'est le updt du javascipt qu'il reconnais pas ...
Messages postés
132
Date d'inscription
mardi 21 juin 2005
Statut
Membre
Dernière intervention
18 juin 2009

je crois savoir pkoi...

enfaite quand je clik sur le lien, il me réactualise ma page et il em met ça comme adresse :

http://10.32.16.54/ACI/modif.php?VARCAT=A&btnAfficher=Afficher&updt=0

et la dernière variable elle veut rien dire donc c'est ptete pour ca qu'il ne le reconnait pas ...
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
24
Remets le code complet de ta page, en me mettant d'une autre couleur ce code-ci, que je vois où il se situe, et teste sur une page à part le code que je t'ai filé, voir si tu as la même erreur.