Requête SQL sur clic d'image HTML ? (via js?)
Powerplex
Messages postés
2
Statut
Membre
-
tryan44 Messages postés 1381 Statut Membre -
tryan44 Messages postés 1381 Statut Membre -
Bonjour,
Je suis confronté à un léger problème que j'aimerai résoudre pour mieux comprendre la façon dont les langages communiquent.
EXPLICATION :
- Mon programme PHP affiche une série de touites(un twitter maison) publiés par un utilisateur connecté à une session.
-Lorsque que mon utilisateur est connécté, un bouton (balise d'image html) apparaît sur chaque touite et devrait lui permettre de le supprimer de la base de données.
- J'ai donc pensé à utiliser Onclick dans la balise pour éxécuter la supression, mais je ne peut pas y insérer de PHP et encore moins de requête (je passe par PDO).
MON CODE :
DONC DONC DONC...
Je bloque complètement ! Je pensais utiliser du javascript pour appelez une page php à la manière d'un include, php qui exécuterais une requête paramétrée en fonction de deux variables récupérées sur le clic de l'image : le $pseudo et le "texteTouites". Ces deux éléments me suffiraient pour faire mon DELETE dans la base.
A l'aide >< Je bloque :p
Je suis confronté à un léger problème que j'aimerai résoudre pour mieux comprendre la façon dont les langages communiquent.
EXPLICATION :
- Mon programme PHP affiche une série de touites(un twitter maison) publiés par un utilisateur connecté à une session.
-Lorsque que mon utilisateur est connécté, un bouton (balise d'image html) apparaît sur chaque touite et devrait lui permettre de le supprimer de la base de données.
- J'ai donc pensé à utiliser Onclick dans la balise pour éxécuter la supression, mais je ne peut pas y insérer de PHP et encore moins de requête (je passe par PDO).
MON CODE :
$pseudo = $_SESSION['user'];
$listetouite=$pdo->query("SELECT * FROM touites WHERE touitesNomCompte = '$pseudo' ORDER BY dateCreationTouite ASC");
$listetouite->setFetchMode(PDO::FETCH_OBJ);
echo $pseudo.',voici vos touites persos.';
<div id="touitesrecents">
<?php
echo '<h2>--- VOS TOUITES RECENTS ---</h2>';
while( $ligne = $listetouite->fetch() ) //affichage des touites récents ligne par ligne.
{
?><div class="touite"><?php
echo '- Le '.$ligne->dateCreationTouite.',<b>vous avez dit: </b>"<i>'.$ligne->texteTouites.'</i>"
<img class="logodelete" src="images/delete.png" alt="" onclick=""/>
?></div><?php
}
?>
</div> <!--fin d'affichage des touites récents-->
$listetouite->closeCursor();
DONC DONC DONC...
Je bloque complètement ! Je pensais utiliser du javascript pour appelez une page php à la manière d'un include, php qui exécuterais une requête paramétrée en fonction de deux variables récupérées sur le clic de l'image : le $pseudo et le "texteTouites". Ces deux éléments me suffiraient pour faire mon DELETE dans la base.
A l'aide >< Je bloque :p
A voir également:
- Requête SQL sur clic d'image HTML ? (via js?)
- Image iso - Guide
- Editeur html - Télécharger - HTML
- Légender une image - Guide
- Reduire taille image - Guide
- Clic gauche souris ne fonctionne plus ✓ - Forum souris / Touchpad
3 réponses
Salut,
Je pense qu'il faut passer par Ajax.
Sur la balise image qui récupère le pseudo + tweete, il faut ajouter sur le onclick une fonction Ajax. Cette fonction permettra d'envoyer les données collectées en GET ou en POST à un simple fichier PHP qui supprimera les données.
Je pense qu'il faut passer par Ajax.
Sur la balise image qui récupère le pseudo + tweete, il faut ajouter sur le onclick une fonction Ajax. Cette fonction permettra d'envoyer les données collectées en GET ou en POST à un simple fichier PHP qui supprimera les données.
Merci beaucoup :p
Je suis grand débutant par contre j'utilise jQuery déjà mais je n'ai jamais utilisé les fonctions ajax ><
Je vais enquêter !
Je suis grand débutant par contre j'utilise jQuery déjà mais je n'ai jamais utilisé les fonctions ajax ><
Je vais enquêter !
Dans les grosses ligne (je débute en ajax :)) ça devrait donner un truc du style :
Au "onclick" la fonction "sup()" est déclenché. Le pseudo + message sont envoyés par la méthode "GET" au fichier "mon-fichier.php". Le fichier "mon-fichier.php" récupère les infos et traite les données comme un simple fichier PHP.
Après "xhr.onreadystatechange = function() {", vous pouvez lancer d'autres fonctions en ajoutant simplement :
Par contre avec cette méthode, il faudra certainement faire un refresh du côté utilisateur pour que le message supprimé apparaisse bien comme étant supprimé.
<script>
function sup(pseudo,message)
{
var xhr;
try {
xhr = new ActiveXObject('Msxml2.XMLHTTP');
}
catch (e)
{
try {
xhr = new ActiveXObject('Microsoft.XMLHTTP');
}
catch (e2)
{
try { xhr = new XMLHttpRequest();
}
catch (e3)
{
xhr = false;
}
}
}
xhr.onreadystatechange = function()
{
if(xhr.status == 404){
alert('Erreur ' +xhr.status);
}
};
xhr.open( "GET", "mon-fichier.php?pseudo="+pseudo+"&message="+message , true);
xhr.send(null);
}
</script>
<a onclick="sup('toto','message 1')"><img src="logo.png"/></a>
<a onclick="sup('titi','message 2')"><img src="logo.png"/></a>
Au "onclick" la fonction "sup()" est déclenché. Le pseudo + message sont envoyés par la méthode "GET" au fichier "mon-fichier.php". Le fichier "mon-fichier.php" récupère les infos et traite les données comme un simple fichier PHP.
Après "xhr.onreadystatechange = function() {", vous pouvez lancer d'autres fonctions en ajoutant simplement :
if(xhr.readyState == 4 && xhr.status == 200){
//ici d'autres fonctions
}
Par contre avec cette méthode, il faudra certainement faire un refresh du côté utilisateur pour que le message supprimé apparaisse bien comme étant supprimé.