[php][my sql] suppressio d'un enregistrement

Fermé
celiaami Messages postés 5 Date d'inscription samedi 14 mai 2016 Statut Membre Dernière intervention 27 mai 2016 - 27 mai 2016 à 16:10
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 - 27 mai 2016 à 19:40
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
  • Easy php - Télécharger - Divers Web & Internet
  • My pascal - Télécharger - Édition & Programmation
  • My cam - Télécharger - Pilotes & Matériel
  • My lockbox - Télécharger - Chiffrement

2 réponses

jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 717
27 mai 2016 à 16:19
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 :
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 )
0
celiaami Messages postés 5 Date d'inscription samedi 14 mai 2016 Statut Membre Dernière intervention 27 mai 2016
27 mai 2016 à 16:23
bonjour merci de m'avoir répondu,

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
0
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 717
Modifié par jordane45 le 27/05/2016 à 18:55
Pour ton bout de code qui semble poser problème fait ceci :

//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                                                                 
0
celiaami Messages postés 5 Date d'inscription samedi 14 mai 2016 Statut Membre Dernière intervention 27 mai 2016
27 mai 2016 à 19:32
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();
}
}
?>
0
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 717 > celiaami Messages postés 5 Date d'inscription samedi 14 mai 2016 Statut Membre Dernière intervention 27 mai 2016
27 mai 2016 à 19:40
execute et non exectute .. désolé.. mon doigt à glissé
$rep = $prepare->execute($datas);
0