seulement, j’aimerais que mon bouton efface ma ligne donc avec la fonction :
<?php
function DeleteMulticast2($num){
$MonSQL = "DELETE * FROM information WHERE Num = '".$num."'";
mysql_query($MONSQL);
}
?>
Celà ne marche pas, j’ai pas de message d’erreur, donc je ne sais pas d’où ça vient, est-ce la relation avec la base de données au niveau de la suppression? est-ce que mon $Num est mal déclaré? est-ce que ma fonction n’est pas bonne???
Si quelqu’un peut m’éclairer, ce serait avec graaaaaaaaaaaaaand plaisir!!!
ooooooooooook en gros, il faudrait pour que celà soit correcte, une fonction javascript avec ma requête à la place de ma fonction php. Onclick c’est que valable en javascript?
je vois pas comment faire alors pour que ma fonction marche lorsque je clique sur l’image de mon bouton supprimer…
Il faut que tu dises au serveur, quand tu cliques sur ton bouton, de déclencher la suppression. En général on utilise un formulaire pour ça, du genre :
justement je voulais éviter de refaire un formulaire pensant que c’était plus simple au niveau du code d’adapter a méthode que j’avais avancer. en affichant le code source d’une page dont je me sert comme modèle, j’ai :
<a href="sql.php?db=multicast&table=information&token=8c5931cb6cba858c4eaae52828b85d9d&pos=0&session_max_rows=30&disp_direction=horizontal&repeat_cells=100&dontlimitchars=0&sql_query=DELETE+FROM+%60information%60+WHERE+%60information%60.%60Num%60+%3D+1+LIMIT+1&zero_rows=L%27enregistrement+a+%C3%A9t%C3%A9+effac%C3%A9&goto=sql.php%3Fdb%3Dmulticast%26table%3Dinformation%26token%3D8c5931cb6cba858c4eaae52828b85d9d%26pos%3D0%26session_max_rows%3D30%26disp_direction%3Dhorizontal%26repeat_cells%3D100%26dontlimitchars%3D0%26sql_query%3DSELECT%2B%252A%2BFROM%2B%2560information%2560%26zero_rows%3DL%2527enregistrement%2Ba%2B%25C3%25A9t%25C3%25A9%2Beffac%25C3%25A9%26goto%3Dtbl_properties_structure.php" onclick="return confirmLink(this, 'DELETE FROM `information` WHERE `information`.`Num` = 1 LIMIT 1')"><img class="icon" width="16" height="16" src="./themes/original/img/b_drop.png" alt="Effacer" title="Effacer" /></a>
je n’ai voulu retenir que
onclick="return confirmLink(this, 'DELETE FROM `information` WHERE `information`.`Num` = 1 LIMIT 1')"
et ai voulu l’adapter à mon code…pourquoi est-ce que celà ne parait pas trop correcte?
Dans ton premier lien, il fait appel à la page “sql.php” qui va exécuter la requête. Les informations sont donc transmies à PHP dans la page sql.php à l’aide des paramètres dans l’url (?db=multicast&table=information…).
Dans ton cas, tu ne transmets pas les informations au serveur. PHP ne sait donc pas qu’il doit exécuter la requête. Et pour transmettre l’information au serveur, il n’y a pas de secret : il faut charger une page (par un formulaire, un lien, une iframe, ou AJAX).
Edité le 22/09/2008 à 16:10
Il faut vraiment que tu vois PHP comme un programme sur le serveur qui va générer un simple fichier texte. Ce fichier texte va être ensuite téléchargé et interprété par le navigateur. Une fois le fichier généré, il n’y a plus la moindre interaction entre le client et le serveur, jusqu’à ce que le client demande un nouveau fichier. Ce qui est très limitant, j’en conviens.
Edité le 22/09/2008 à 17:44
grrrrrrrrrrrr, je ne suis vraiment pas à l’aise avec ajax, donc à éviter, une iframe why not, un lien, why not, un formulaire, un peu lourd les formulaire!!!
Mon idée à la base de chez base, c’est de pouvoir en appuyant sur mon bouton supprimer une fenêtre de confirmation (javascript) s’ouvre me demandant si je veux bien supprimer, et si oui, effectuer la fonction deleteMulticast2($num)…
Disons que si j’utilise un iframe, ou un lien ou un formulaire, je sens que je vais réfléchir trop longtemps pour savoir comment récupérer ma donnée… sniiiiiiiiiiiiiiiif je n’ai pas le php innée!!! hélàs!!!
<?php
include "connect.php";
if(Connecter())
{
$num = $_POST['btnSup'];
echo $num;echo'<br>';
$MonSQL = "DELETE * FROM information WHERE Num = '".$num."'";
echo $MonSQL;echo'<br>';
$result = mysql_query($MonSQL);
if($result)
{
echo 'suppression réussi';
}
else
{
echo 'php qui marche pas et qui fais ****';
}
}
?>
mais lorsque je lance, j’ai :
21
DELETE * FROM information WHERE Num = '21'
php qui marche pas et qui fais ****
j’ai bien le bon num, ma requete s’affiche pas, donc je présume que c’est au niveau de mysql_query non???, mais je vois pas le soucis!!!
pffffffffffff!!!!! c'est mon sql qui n'était pas bon....
<SCRIPT LANGUAGE="JavaScript">
function confirmation() {
var msg = "Êtes-vous sur de vouloir supprimer?";
if (confirm(msg))
location.replace(supprimer.php);
}
</SCRIPT>
mais bon gros soucis c’est que même quand j’annule et bien devinez quoi??? ça me renvoie quand même sur supprimer.php, alors que ça ne devrais pas, je pense que c’est dû au form avec action =‘supprimer.php’ mais quand je ne le mets pas, ça ne me fait rien du tout, pas de suppression, et si je ne mets pas de form, c’est btnSup qui n’est pas reconnu…
<SCRIPT LANGUAGE="JavaScript">
function confirmation() {
var msg = "Êtes-vous sur de vouloir supprimer?";
if (confirm(msg))
{
location.replace("supprimer.php");
}
else
{
location.replace("test.php");
}
}
</SCRIPT>
ma page supprimer.php correspond à :
<body>
<?php
include "connect.php";
if(Connecter())
{
$num = $_POST['btnSup'];
$MonSQL = "DELETE FROM information WHERE Num = '$num'";
$result = mysql_query($MonSQL);
}
?>
<META HTTP-EQUIV="Refresh" CONTENT="1;URL='test.php'">
</body>
ce que je veux maintenant c’est qu’en cliquant sur input type=image name = btnSup j’ai ma fenêtre de confirmation qui s’ouvre, que lorsque je clique sur oui, le traitement de supprimer.php se fasse, et que lorsque je clique sur annuler, celà ne fasse rien, donc reste sur test.php!
Or,
si je ne mets pas de form, le $_Post[‘btnSup’] de supprimer.php n’est pas ‘reconnu’, donc je n’ai pas la suppression
si j’enlève le action, rien ne se passe, si suppression, ni rien
si je mets action =’’ idem
si je mets action=‘supprimer.php’ quoi qu’il se passe, la page ira sur supprimer.php
lorsque je clique sur annuler dans ma boite de confirmation, le traitement, s’effectue quand même.
si je mets onSubmit=confirmation() => que je clique sur btnSup ou btnMod, l’invit de confirmation s’ouvre quand même
je ne sais plus quoi faaaaaaaaaaaaaaaaaaire!!! merci pour vos réponses, et futures réponses!!!