[php][my sql] suppressio d'un enregistrement
celiaami
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour, j'ai un probleme dans la suppression d'un enregistrement il m'affiche le dernier ech mais sa change rien dans la base de donnees
CREATE TABLE commune( idc int PRIMARY KEY NOT NULL, nomco CHAR(45), idwi int, FOREIGN KEY (idwi) REFERENCES wilaya(idw));
<?php session_start(); ?> <html> <head><title>Les communes</title> <link rel="shortcut icon" href="images/favicon.gif" type="image/x-icon"/> <link rel="stylesheet" type="text/css" href="css/styles.css"/> <link rel="icon" href="images/favicon.gif" type="image/x-icon"/> <link type="text/css" href="css/fancymoves.css" media="screen" charset="utf-8" rel="stylesheet" /> <style> form a input { border:none; //padding-left:24px; /* pour décaler le texte, qu'il ne chevauche pas mon image*/ background-color:transparent; cursor: pointer; } form a { background-image:url(images/bg.png); background-repeat:no-repeat; background-color:#9acd32; text-decoration:none; } form a:hover { background-image:url(images/bg.png); } </style> </head> <body> <body> <header> <div class="container"> <!--start title--> <h1 class="fontface" id="title"><span class="green">Ma</span> sante</h1> <!--end title--> <!--start menu--> <nav> <ul> <li> <a href="acceuil.php">Accueil</a></li> <li><a href="service.php">Services</a></li> <li><a href="admin.php">Admin</a></li> <li><a href="#">About</a></li> </ul> </nav> </div> </header> <?php //session_start(); //Se connecter à MySQL avec PDO: try { $bdd = new PDO('mysql:host=localhost;dbname=pfe;charset=utf8', 'root', ''); } catch(Exception $e) { die('Erreur : '.$e->getMessage()); } ?> <br><br> <h2> Choisir une action </h2><br><br> <table cellspacing="10"> <tr><td><form action="#" method="post"><a href="#"><input type="submit" name="sup" value="Supprimer une commune"></a></form> <tr><td><form action="#" method="post"><a href="#"><input type="submit" name="ajout" value="Ajouter une commune"></a></form> <tr><td><form action="#" method="post"><a href="#"><input type="submit" name="modif" value="Modifier une commune"></a></form> </table> <br><br> <?php if(isset($_POST['sup'])){ //la suppression d'une commune ?> <h2>Choisissez la wilaya</h2> <form action="#" method="get"> <table cellspacing="5" > <tr> <td> <fieldset class="fieldset1"> <LEGEND align="left" class="Style92 Style98 "></LEGEND> <tr> <td width="90%" class="Style91" align="center">Choisissez votre wilaya <select name='wilaya' id='wilaya' onChange='change()'> <option value='0' selected > -- Wilaya --</option> <?php $reponse = $bdd->query('SELECT * FROM wilaya'); while ($donnees = $reponse->fetch()) {?> <option value="<?php echo htmlspecialchars($donnees['idw']); ?>" ><?php echo htmlspecialchars($donnees['nomw']); ?></option> <?php } $reponse->closeCursor(); ?> </select> <tr><td align="right"><a href="#"> <input type="submit" name="cherche" value="Chercher"/></a> </fieldset> </form> <br><br><?php } ?> <?php if(isset($_GET['cherche'])){ $choix=$_GET['wilaya']; ?> <form action="#" method="post"> <select name='commune' > <option value='0' selected > -- Commune --</option> <?php $reponse = $bdd->query('SELECT * FROM commune where idwi='.$choix); while ($donnees = $reponse->fetch()) {?> <option value="<?php echo htmlspecialchars($donnees['idc']); ?>" ><?php echo htmlspecialchars($donnees['nomco']); ?></option> <?php } $reponse->closeCursor(); ?> <br><br> <a href="#"> <input type="submit" name="supprimer" value="Supprimer"/></a> </select> </form> <?php } if(isset($_POST['supprimer'])){echo $_POST['commune'];$id=$_POST['commune']; $rep=$bdd->query("DELETE FROM `commune` WHERE `idc` = ".$id); echo 'la commune a été supprimer avec succcé';} ?> </body></html>
A voir également:
- [php][my sql] suppressio d'un enregistrement
- What is my movie français - Télécharger - Divers TV & Vidéo
- My pascal - Télécharger - Édition & Programmation
- My lockbox - Télécharger - Chiffrement
- Enregistrement mp3 gratuit - Télécharger - Streaming audio
- Who's on my wifi - Télécharger - Outils Internet
2 réponses
Bonjour,
1 - Prend l'habitude de placer ton code php (tout ce qui est traitement des données comme les SELECT ou les INSERT...) AVANT ton code html. cela rend le code de la page plus simple à lire.
2 - Peux tu reformuler ta question. Il semble manquer des bouts de phrase...
par exemple.. que signifie :
3 - As tu testé tes requêtes DIRECTEMENT dans ta BDD pour voir si elles fonctionnent ? (via phpMyadmin onglet : sql )
1 - Prend l'habitude de placer ton code php (tout ce qui est traitement des données comme les SELECT ou les INSERT...) AVANT ton code html. cela rend le code de la page plus simple à lire.
2 - Peux tu reformuler ta question. Il semble manquer des bouts de phrase...
par exemple.. que signifie :
il m'affiche le dernier ech?
3 - As tu testé tes requêtes DIRECTEMENT dans ta BDD pour voir si elles fonctionnent ? (via phpMyadmin onglet : sql )
Pour ton bout de code qui semble poser problème fait ceci :
NB: N'oublies pas non plus de récupérer "proprement" les variables AVANT de les utiliser (comme je l'ai fait)
NB² :Pense à déplacer ton code PHP .... AVANT ton HTML (pour séparer.. le "visuel" .. des traitements de formulaire.
Cordialement,
Jordane
//recuperation "propre" des variables $commune = isset($_POST['commune']) ? $_POST['commune'] : NULL; $supprimer = isset($_POST['supprimer']) ? $_POST['supprimer'] : NULL; //traitement de la suppression if($supprimer){ echo "commune = ".$commune; $sql = "DELETE FROM commune WHERE idc = :id "; $datas = array(":id"=>$commune); try{ $prepare = $bdd->prepare($sql); $rep = $prepare->exectute($datas); if($rep){ echo 'la commune a été supprimer avec succcé'; } }catch(Exception $e){ echo "<br>Erreur dans la requete :".$sql; echo "<br>".$e->getMessage(); } }
NB: N'oublies pas non plus de récupérer "proprement" les variables AVANT de les utiliser (comme je l'ai fait)
NB² :Pense à déplacer ton code PHP .... AVANT ton HTML (pour séparer.. le "visuel" .. des traitements de formulaire.
Cordialement,
Jordane
Call to undefined method PDOStatement::exectute() in C:\wamp\www\pfesite\commune.php on line 138
<?php
}
$commune = isset($_POST['commune']) ? $_POST['commune'] : NULL;
$supprimer = isset($_POST['supprimer']) ? $_POST['supprimer'] : NULL;
//traitement de la suppression
if($supprimer){
echo "commune = ".$commune;
$sql = "DELETE FROM commune WHERE idc = :id ";
$datas = array(":id"=>$commune);
try{
$prepare = $bdd->prepare($sql);
$rep = $prepare->exectute($datas);
if($rep){
echo 'la commune a été supprimer avec succcé';
}
}catch(Exception $e){
echo "<br>Erreur dans la requete :".$sql;
echo "<br>".$e->getMessage();
}
}
?>
il m'affiche le dernier echo (j'ai juste un petit prbleme avec mon O sur clavier)
oui je teste mes requette sur la zone sql de phpmyadmin et ça marche très bien mais en executant rien ne change dans la bdd