Page 1 sur 1
Appel d'une fonction PHP sur un onClick ?
Posté : 07 nov. 2007, 02:15
par bibe83
Bonsoir,
j'essai d'appeler une fonction PHP sur un évènement onClick sur un lien HREF, le problème c'est que je crois que ça marche pas bien, la fonction s'execute au chargement de la page sans que je clic sur aucun lien...
for($y = 0; $y <= count($track_list['tracks']); $y++){
if ($y == 0) echo '<table>';
if ($y < count($track_list['tracks'])){
echo '<tr><td><b>$date_jour'</b></td>';
echo '<td><b>-- <a href='.$track_list['tracks'][$y].' [b]onClick='.MajUser($search_num).'[/b]>'.convert($track_list['tracks'][$y]).'</a></td>';
echo '<td>'.$track_list['times'][$y].'</b></td></tr>';
}
if ($y == count($track_list['tracks'])-1){
echo '<tr><td><b>$date_jour</b></td>';
echo '<td><b>-- xxxx -- </b></td></tr>';
echo '</table>';
}
}
Si quelqu'un peut me dire que je fais nawak, je veux bien ses conseils...
Posté : 07 nov. 2007, 07:47
par Cyrano
Logique, tu mélanges un langage client (évènement JavaScript) et un langage serveur (PHP). Or dans la construction de ton bout de page, l'appel à la fonction PHP n'est pas envoyé tel-quel mais interprété directement avant envoi de la page vers le navigateur.
Si tu veux faire ça, il va falloir modifier le fonctionnement et envisager dans ton onclick un appel à une fonction JavaScript avec un peu d'AJAX pour appeler la fonction PHP coté serveur depuis la page qui elle est coté client.
Posté : 07 nov. 2007, 12:03
par Truc
Modération :
Afin d'obtenir plus de réponses, le sujet est déplacé dans le forum "Javascript, AJAX".
Posté : 07 nov. 2007, 18:03
par AB
Alternativement, si tu souhaites exécuter cette fonction et réafficher la page après clic sur le lien tu peux faire :
if (isset($_GET['run']) && $_GET['run'] == 1)
{
for($y = 0; $y <= count($track_list['tracks']); $y++){
if ($y == 0) echo '<table>';
if ($y < count($track_list['tracks'])){
echo '<tr><td><b>$date_jour'</b></td>';
echo '<td><b>-- <a href='.$track_list['tracks'][$y].' [b]onClick='.MajUser($search_num).'[/b]>'.convert($track_list['tracks'][$y]).'</a></td>';
echo '<td>'.$track_list['times'][$y].'</b></td></tr>';
}
if ($y == count($track_list['tracks'])-1){
echo '<tr><td><b>$date_jour</b></td>';
echo '<td><b>-- xxxx -- </b></td></tr>';
echo '</table>';
}
}
}
partie HTML
Posté : 09 nov. 2007, 23:40
par bibe83
Monsieur AB c'est la fonction "MajUser($search_num)" qui est en PHP que je souhaite exécuter en cliquant sur le lien qui la contient et non un lien autre qui exécutera tout le code que j'ai copié.
Donc soit je comprend pas soit faut que je fasse un coup d'AJAX que je connait pas du tout (ça va pas me nettoyer le code ?)
Pour info cette fonction MajUser($search_num) fait une mise a jour d'une table mySQL, en fait le bonhomme il clique sur un lien d'une liste qui va mettre a jour la base au niveau du fichier qu'il va télécharger...
Posté : 10 nov. 2007, 00:04
par Truc
tu peux regarder
ce petit tuto pour apprendre rapidment à manipuler le php avec du javascript.
Posté : 10 nov. 2007, 02:12
par bibe83
Ce forum est vraiment génial !
Ma petite fonction est maintenant OK, je suis content d'aller me pieuter en ayant appris un nouveau truc super utile!
C'est sûr que je vais faire bon usage de ceci merci Truc.
Posté : 10 nov. 2007, 09:22
par Cyrano
tu peux regarder
ce petit tuto pour apprendre rapidment à manipuler le php avec du javascript.
Excellent, ce serait à rajouter dans les ressources indiquées dans
ce sujet
Posté : 10 nov. 2007, 11:40
par Truc
Modération :
Puisque ta question est résolue, j'ajoute le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.
Tu peux réaliser cette opération toi-même
en cliquant sur le bouton
qui s'affiche en haut à gauche de ce sujet
si tu as posté le 1er message en tant que membre (inscrit et identifié).
Alors... inscris-toi !!!
Lien ajouté à la liste des tutoriaux.