Suppression ligne par ligne mysql en php
aycha
-
Smoking bird Messages postés 870 Date d'inscription Statut Membre Dernière intervention -
Smoking bird Messages postés 870 Date d'inscription Statut Membre Dernière intervention -
Salut,
j'ai débuté en php.
voilà notre pbme, j'ai crée en php une code pour supprimer une ligne précise de table demande après une confirmation en javascript,mais lorsque je clique sur supprimer cet enregistrement,tous les enregistremnts de base sont supprimé.
Voici le code:
la page supsdemande.php définir la fonction confirme en js et afficher le contenu de table:
et la page supdde.php supprimer le ligne correspond:
MERCI D'AVANCE
j'ai débuté en php.
voilà notre pbme, j'ai crée en php une code pour supprimer une ligne précise de table demande après une confirmation en javascript,mais lorsque je clique sur supprimer cet enregistrement,tous les enregistremnts de base sont supprimé.
Voici le code:
la page supsdemande.php définir la fonction confirme en js et afficher le contenu de table:
<script language="javascript"> function confirme( identifiant,art,date,rep ) { var confirmation = confirm( "Voulez vous vraiment supprimer cet enregistrement?" ) ; if( confirmation ) { document.location.href = "supdde.php?cde_sce="+identifiant ; } } </script> </head> <body> <?php //connection au serveur $connect = mysql_connect( "localhost", "root", "" ) or die('erreur de connexion'); //sélection de la base de données: $db = mysql_select_db( "gestion_stock" ) or die('base introuvable'); //requête de selection $aff="select * from demande order by 'desig_sce'"; $reqt=mysql_query($aff) or die ('erreur sql'.$reqt.'<br>'.mysql_error()); while($sql=mysql_fetch_object($reqt)) { echo($sql->cde_sce." ".$sql->desig_sce." ".$sql->type_sce." ".$sql->cde_art." ".$sql->desig_art." ".$sql->qte_dde." ".$sql->date_dde." ".$sql->resp_dde." "); printf("<a href=\"#\" onClick=\"confirme('".$sql->cde_sce."')\" >supprimer cet enregistrement</a><br>\n") ; } ?> </body> </html>
et la page supdde.php supprimer le ligne correspond:
<?php //connection au serveur: $cnx = mysql_connect( "localhost", "root", "" ) or die("erreur de connexion"); //sélection de la base de données: $db = mysql_select_db( "gestion_stock" ) or die("la base est introuvable"); //récupération de la variable qui va nous permettre de savoir quel enregistrement supprimer: $cde_sce = $_GET["cde_sce"] ; /* $cde_art = $_GET["cde_art"] ; $date_dde = $_GET["date_dde"] ; $resp_dde = $_GET["resp_dde"] ;*/ //requête SQL: $sql = "DELETE FROM demande WHERE cde_sce = '$cde_sce' " ; //exécution de la requête: $requete = mysql_query( $sql) ; //affichage des résultats, pour savoir si la suppression a marchée: if($requete) { echo('<script language="javascript">alert("La suppression à été correctement effectuée");</script>') ; } else { echo('<script language="javascript">alert("La suppression à échouée");</script>'); } ?>
MERCI D'AVANCE
A voir également:
- Suppression ligne par ligne mysql en php
- Partager photos en ligne - Guide
- Mètre en ligne - Guide
- Forcer suppression fichier - Guide
- Aller à la ligne excel - Guide
- Formulaire en ligne de meta - Guide
6 réponses
Je te conseille de regarder que contient ta variable :: $cde_sce.
<?php echo $cde_sce;?>
Si c'est vide regarde sur ta page ou tu transmet la donnée.
OU regarde directement sur l'url.
Ci la variable est bien là.
Alors le problémes vient de ta page supdde.php.
Tient nous au courrant ;)
<?php echo $cde_sce;?>
Si c'est vide regarde sur ta page ou tu transmet la donnée.
OU regarde directement sur l'url.
Ci la variable est bien là.
Alors le problémes vient de ta page supdde.php.
Tient nous au courrant ;)
Bonjour,
Merci bien ilyesn et Smoking bird,
voilà j'essais vos propsitions:
$sql = "DELETE
FROM demande
WHERE cde_sce = '$cde_sce' limit 1" ;
echo $sql;
et j'obtenir le resultat suivant:
DELETE FROM demande WHERE cde_sce = '' limit 1
la suppression de la 1ère ligne même si je selectionne la dernière
Merci bien ilyesn et Smoking bird,
voilà j'essais vos propsitions:
$sql = "DELETE
FROM demande
WHERE cde_sce = '$cde_sce' limit 1" ;
echo $sql;
et j'obtenir le resultat suivant:
DELETE FROM demande WHERE cde_sce = '' limit 1
la suppression de la 1ère ligne même si je selectionne la dernière
donc $cde_sce n'est pas envoyée. Pourquoi passer par un printf pour le lien et pas par echo? la valeur existe bien dans ta bdd?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
merci bien pour votre réponse,
utilise printf ou echo nous retourne la même resultat,
et pour les valeurs de cde_sce existe dans la bd
et la ligne suivante s'affiche bien
merci bien pour votre réponse,
utilise printf ou echo nous retourne la même resultat,
et pour les valeurs de cde_sce existe dans la bd
et la ligne suivante s'affiche bien
echo($sql->cde_sce." ".$sql->desig_sce." ".$sql->type_sce." ".$sql->cde_art." ".$sql->desig_art." ".$sql->qte_dde." ".$sql->date_dde." ".$sql->resp_dde." ");