Page 1 sur 1

requete delete methode get

Posté : 29 mai 2007, 09:35
par bromlecornu
Bonjour,

J'ai un blème avec cette requête je ne sais po si j'ai bien utilisé le get

Code : Tout sélectionner

<? include ('connexion.inc'); $nserv = $_GET["num_service"]; $sql = "Delete * from services where num_service = '".$_GET["num_service"]"'"; $sql_exe = mysql_query($sql) or die('Erreur : ' . mysql_error()); } header("Location: accueil.php"); ?>
Voila merci

Posté : 29 mai 2007, 09:44
par bromlecornu
je c pour le point que j'ai oublié juste apres mon get mais ca marche po quand mm avec

Posté : 29 mai 2007, 10:01
par zeus
Tu as un message d'erreur surement ...
Il est important de nous le donner pour qu'on puisse t'aider ... comme il est important que tu essayes de le comprendre toi même.

Je pense tout de même que "DELETE * FROM" n'est pas la bonne syntaxe. Je te laisse comprendre pourquoi ;)

Posté : 29 mai 2007, 10:42
par bromlecornu
Bon j'ai trouvé qques erreurs

mais la il met :
Notice: Undefined index: num_service in d:\interventions\suppr_service.php on line 4

Notice: Undefined index: num_service in d:\interventions\suppr_service.php on line 6
vla le code :

Code : Tout sélectionner

<? include ('connexion.inc'); $nserv = $_GET["num_service"]; $sql = "Delete from services where num_service = '".$_GET["num_service"]."'"; $sql_exe = mysql_query($sql) or die('Erreur : ' . mysql_error()); header("Location: accueil.php"); ?>
Voila la je seche

merci

Posté : 29 mai 2007, 14:51
par zeus
Une petite recherche t'aurait donné la réponse :evil:
L'index "num_service" n'existe pas dans la superglobale $_GET.

Visiblement, tu ne passes pas correctement la valeur de "num_service" dans l'url.

1/ Pourquoi récupérer $_GET['num_service'] dans $num_service, si tu ne l'utilises pas ?
remplace
$nserv = $_GET["num_service"];
$sql = "Delete from services where num_service = '".$_GET["num_service"]."'"; 
par
$nserv = $_GET["num_service"];
$sql = "Delete from services where num_service = '".$nserv."'";

2/ Pour éviter l'apparition du message d'erreur (ATTENTION, cette solution n'affiche pas le message d'erreur mais ne réalise pas la supression), il faut controler que le num_service existe
<?
include ('connexion.inc');

//Récupération du numéro de service
$nserv = $_GET["num_service"];

//Si le numéro de service a bien été transmis par GET
if ($nbserv != '')
{
    $sql = "Delete from services where num_service = '".$nserv."'";
    $sql_exe = mysql_query($sql) or die('Erreur : ' . mysql_error());
}

header("Location: accueil.php");
?>