Bouton requete sql

carlosrb54 Messages postés 8 Date d'inscription vendredi 14 septembre 2007 Statut Membre Dernière intervention 12 janvier 2008 - 10 janv. 2008 à 13:54
Gamerz28111983 Messages postés 7 Date d'inscription vendredi 17 mars 2006 Statut Membre Dernière intervention 6 août 2009 - 12 janv. 2008 à 20:32
Bonjour,
j'ai une page php, avec une zone texte et un bouton. Je voudrais que quand on clique sur le bouton, cela génère une requête SQL pour supprimer la valeur rentré dans la zone de texte. J'aimerai que cela soit transparent pour l'utilisateur, donc sans charger une autre page.

j'ai ca pour l'intant :

<form action="_self" method="post">
</form>

<?php
function fonction_php()
{
mysql_connect( "localhost", "", "" );
mysql_select_db('mabase');
$sql_suppr = "DELETE FROM matable WHERE value='($_POST['mail_suppr'])'";
$resultat_suppr = mysql_query($sql_suppr);
mysql_free_result($resultat_suppr);
mysql_close();
}
?>

le problème est que cela n'execute pas la fonction php...

14 réponses

malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
10 janv. 2008 à 14:03
Tu ne peux pas faire comme ça...

Tu dois intégrer de l'ajax à mon avis:

La page où il y a ton bouton:
<strike><form action="_self" method="post"></strike>id="mail_suppr" type="text" />
<strike></form></strike>

La fonction js (dans la même page bien sûr):
function fonction_js(){
    var mail = document.getElementById('mail_suppr').value;
    var url = "fonction.php?mail="+mail;
    -- ici tu fais un appel en ajax à fonction.php --
}

La page fonction.php
<?php
mysql_connect( "localhost", "", "" );
mysql_select_db('mabase');
$sql_suppr = "DELETE FROM matable WHERE value='($_GET['mail_suppr'])'";
$resultat_suppr = mysql_query($sql_suppr);
mysql_free_result($resultat_suppr);
mysql_close();
?>

Voilà. C'est fait un peu à l'arrache mais le principe y est

*****
noisy communication - wherever, be everywhere!
0
carlosrb54 Messages postés 8 Date d'inscription vendredi 14 septembre 2007 Statut Membre Dernière intervention 12 janvier 2008
10 janv. 2008 à 15:47
merci ! je vois mieux comment ca peut marcher maintenant !

j'ai testé, mais rien ne se passe. la valeur de mail est bien récupérée. mais je crois pas que la page fonction.php soit appelée..
0
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
10 janv. 2008 à 15:50
Tu a fais l'appel ajax? Si oui, montre ton code stp, si non il faut que tu le fasses!

*****
noisy communication - wherever, be everywhere!
0
carlosrb54 Messages postés 8 Date d'inscription vendredi 14 septembre 2007 Statut Membre Dernière intervention 12 janvier 2008
10 janv. 2008 à 16:13
en fait je viens de trouver !! une vieille erreur à la c** !

merci de ton aide ! je connaissais ajax de nom, maintenant je vois à quoi ca sert !

voila le code qand même pour ce que ca interresse :

<script type="text/javascript">
function fonction_js(){
    var mail = document.getElementById('mail_suppr').value;
    var url = "delete.php?mail="+mail;
   
    if(window.XMLHttpRequest) 
          xhr_object = new XMLHttpRequest();
       else if(window.ActiveXObject)
          xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
       else { 
          alert("erreur XMLHTTPRequest");
          return;
       }
     
       xhr_object.open("GET", url, true);
       xhr_object.send(null);
       
}
</script>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
10 janv. 2008 à 16:19
Salut,

<?php
if(!$_POST['flag'])
{
?>
<html>
<form action="" method="post">

</form>
<?php
}
else
{
$mail_suppr=$_POST['mail_suppr'];
mysql_connect("localhost", "", "" );
mysql_select_db('mabase');
$sql_suppr = "DELETE FROM matable WHERE value='$mail_suppr'";
$resultat_suppr = mysql_query($sql_suppr);
mysql_free_result($resultat_suppr);
mysql_close();
$_POST['flag']='';
header("location:$PHP_SELF");
}
?>





doit marcher aussi comme ça sans ajax mais requête au serveur...
je n'ai pas testé et je ne sais pas si c'est très 'sioux'... a°
0
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
10 janv. 2008 à 16:34
sidf, ça va pas le faire car tu fais un POST => reload de la page

*****
noisy communication - wherever, be everywhere!
0
Gamerz28111983 Messages postés 7 Date d'inscription vendredi 17 mars 2006 Statut Membre Dernière intervention 6 août 2009
11 janv. 2008 à 15:42
bonjour, j ai essayé ce que vous avez mais rien ne ce passe

j ai l impression au niveau du javascript il recupere pas la valeur .
0
Gamerz28111983 Messages postés 7 Date d'inscription vendredi 17 mars 2006 Statut Membre Dernière intervention 6 août 2009
11 janv. 2008 à 17:25
carlosrb54 jai fait un peu comme lui

comme c est indique essayant de comprendre je ne comprends il ne prend pas la requete

si quelqu un peut m aider svp :)
0
carlosrb54 Messages postés 8 Date d'inscription vendredi 14 septembre 2007 Statut Membre Dernière intervention 12 janvier 2008
11 janv. 2008 à 17:31
tu as bien un fichier a part delete.php que tu appelles avec l'ajax et ou tu rajoutes les options dans l'url ?
0
Gamerz28111983 Messages postés 7 Date d'inscription vendredi 17 mars 2006 Statut Membre Dernière intervention 6 août 2009
11 janv. 2008 à 18:28
non non j ai bien un fichier a part

je fais appel comme dans ton script delete.php

mais apparemment j ai un bug mais ou :s

<ol><li class="li1">
<html>
</li><li class="li1">
<head>
</li><li class="li1">
<scripttype="text/javascript">
</li><li class="li1">
function fonction_js(){
</li><li class="li1">
    var mail = document.getElementById('mail_suppr').value;
</li><li class="li1">
    var url = "delete.php?mail="+mail;
</li><li class="li1">
    if(window.XMLHttpRequest)
</li><li class="li1">
          xhr_object = new XMLHttpRequest();
</li><li class="li1">
       else if(window.ActiveXObject)
</li><li class="li1">
          xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
</li><li class="li1">
       else {
</li><li class="li1">
          alert("erreur XMLHTTPRequest");
</li><li class="li1">
          return;
</li><li class="li1">
       }    
</li><li class="li1">
       xhr_object.open("GET", url, true);
</li><li class="li1">
       xhr_object.send(null);      
</li><li class="li1">
}
</li><li class="li1">
</script>
</li><li class="li1">
</head>
</li><li class="li1">
>
</li><li class="li1">
id="mail_suppr"type="text"/>
</li><li class="li1">
name="bouton_suppr"type="button"onClick="fonction_js()"value="Supprimer"/>
</li><li class="li1">
>
</li><li class="li1">
</html>
</li></ol>
0
carlosrb54 Messages postés 8 Date d'inscription vendredi 14 septembre 2007 Statut Membre Dernière intervention 12 janvier 2008
12 janv. 2008 à 16:22
et y a quoi dans ton delete.php ?
0
Gamerz28111983 Messages postés 7 Date d'inscription vendredi 17 mars 2006 Statut Membre Dernière intervention 6 août 2009
12 janv. 2008 à 17:49
ca

<?php
 
require("connect.php");
$sql_suppr = "DELETE FROM nom WHERE client='$_GET['mail_suppr']'";
$resultat_suppr = mysql_query($sql_suppr);
echo "1";
mysql_free_result($resultat_suppr);
mysql_close();
?>
0
carlosrb54 Messages postés 8 Date d'inscription vendredi 14 septembre 2007 Statut Membre Dernière intervention 12 janvier 2008
12 janv. 2008 à 19:05
c'est 'mail' et pas 'mail_suppr" dans ton $_GET[]

dans ton javascript en haut, tu recuperes l'adresse ds var mail. dc c'est la valeur de mail qui sera passée dans l'url.
0
Gamerz28111983 Messages postés 7 Date d'inscription vendredi 17 mars 2006 Statut Membre Dernière intervention 6 août 2009
12 janv. 2008 à 20:32
je comprends pas

malgre la correction rien ne se passe ...

pas de suppression

si j ai bien compris il prends la valeur du input

imaginons thierry ensuite il passe la variable dans url

je le recupere avec get

et apres je supprime la ligne ou client =thierry

mais ca marche

voila la correction

<?php
 
require("connect.php");


echo $_GET['mail'];
$sql_suppr = "DELETE FROM nom WHERE client='($_GET['mail'])'";


$resultat_suppr = mysql_query($sql_suppr);
echo "1";
mysql_free_result($resultat_suppr);
mysql_close();
?>
0
Rejoignez-nous