Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2977 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [resolu]n'arrive pas a supprimer la bonne ligne de ma bdd

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[resolu]n'arrive pas a supprimer la bonne ligne de ma bdd

n°1822694
keo64
Posté le 05-12-2008 à 20:29:39  profilanswer
 

bonsoir a tous , je n'arrive pas a effacé la ligne voulut(après avoir cliquer sur supprimer) cette ligne est déterminer par $_SESSION['idpiece'] qui est le numéro de la ligne a effacé de  ma base de donnée sql, a chaque fois que je clique sur supprimer il me supprime la dernière ligne de ma bdd, je n'y comprend pas pourquoi il fait cela voici le script en quesiont:
 

Code :
  1. <?php
  2. session_start();
  3. ?>
  4. <h1>Rechercher un article (consulter,modifier,supprimer)</h1>
  5. <form action="<?php $_SERVER['PHP_SELF'] ;?>" method="post">
  6. <input type="text" name="find" value="<?php echo $_REQUEST['find'];?>"/>
  7. <input type="submit" value="rechercher"/>
  8. </form>
  9. <?php
  10. mysql_connect(....;
  11. mysql_select_db(.....;
  12. $req = mysql_real_escape_string($_POST['find']);
  13. $sql="SELECT * FROM `piece` WHERE `intitule` LIKE '%$req%' OR 'codebarre'LIKE '%$req%' ";
  14. echo ($sql);
  15. $resultat=mysql_query($sql) or die (mysql_error());
  16. while ($article=mysql_fetch_array($resultat))
  17. {
  18. $_SESSION['idpiece']=$article['idpiece'];//*ici recupération de l'idpiece*//
  19. $_SESSION['produit']=$article['intitule'];
  20. $_SESSION['codebarre']=$article['codebarre'];
  21. $_SESSION['ref']=$article['reference'];
  22. $_SESSION['prix']=$article['prix'];
  23. $_SESSION['qte']=$article['quantite'];
  24. }
  25. ?>
  26. <a><h1>voici les détait du produit <?php echo $_SESSION['produit'];?></h1></a>
  27. <a>numéro d'enregistrement :<?php echo$_SESSION['idpiece'];?></a><br/>
  28. <a>code barre:<?php echo $_SESSION['codebarre'];?></a><br/>
  29. <a>reference :<?php echo $_SESSION['ref'];?></a><br/>
  30. <a>prix:<?php echo $_SESSION['prix'];?></a><br/>
  31.   <a>quantite :<?php echo $_SESSION['qte'];?></a><br/>
  32.  
  33. <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
  34. <input type="submit" name="delet" value="supprimer"/>
  35. </form>
  36. <form action="modifier_produit.php" method="post">
  37. <input type="submit" name="modif" value="modifer"/>
  38. </form>
  39. <form action="enregistre_produit.php" method="post">
  40. <input type="submit" name="enregistre" value="ajouter"/>
  41. </form>
  42. <h1><?php echo $_SESSION['idpiece'];?></h1>//*ici j'affiche en gros l'idpiece*//
  43. <?php
  44. if ($_REQUEST['delet']=="supprimer" )
  45. {
  46.   $sql="DELETE FROM piece WHERE idpiece='".$_SESSION['idpiece']."'";
  47. mysql_query($sql);
  48. echo $sql;//*!!!!!! ICI C EST PAS NORMAL idpiece est egal a la dernière ligne alors que je n'ai pas chercher a supprimer cette ligne!!! *//
  49. echo "<h1>$produit à été effacé</h1>";
  50. session_destroy();
  51. mysql_close();
  52. }
  53. ?>


 
1:je recherche un article
2:une fois trouvé il m'affiche le détail
3:je clique sur supprimer , normalement avec $_SESSION['idpiece'] il me supprime la ligne de ma bdd qui correspond a idpiece mais la derrnière ligne est effacé, c'est pas celui que je voulais,a votre avis pouquoi il n'efface pas idpiece demandé??
 
merci de votre reponse


Message édité par keo64 le 06-12-2008 à 15:50:48
mood
Publicité
Posté le 05-12-2008 à 20:29:39  profilanswer
 

n°1822746
easyocas
Posté le 05-12-2008 à 23:32:26  profilanswer
 

salut essai de remplacer cette ligne :
 
$sql="DELETE FROM piece WHERE idpiece='".$_SESSION['idpiece']."'";
 
par :
 
$sql="DELETE * FROM piece WHERE idpiece='".$_SESSION['idpiece']."'";


---------------
http://www.easy-ocas.com/
n°1822782
esox_ch
Posté le 06-12-2008 à 09:46:34  profilanswer
 

easyocas a écrit :

salut essai de remplacer cette ligne :
 
$sql="DELETE FROM piece WHERE idpiece='".$_SESSION['idpiece']."'";
 
par :
 
$sql="DELETE * FROM piece WHERE idpiece='".$_SESSION['idpiece']."'";


 
Totalement à côté de la plaque.
 
ke064> le problème vient du fait qu'à chaque itération de ta boucle while ($article=mysql_fetch_array($resultat)), tu ré-écris sur les mêmes cases de $_SESSION, il va donc logiquement t'effacer la dernière


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1822862
keo64
Posté le 06-12-2008 à 13:56:44  profilanswer
 

merci pour ta réponse effectivemet j'ai oublité une étoile, comment je pourrais procéder pour avoir juste la ligne de ma recherche ?
 
:)

n°1822872
esox_ch
Posté le 06-12-2008 à 14:15:38  profilanswer
 

Tu crées 1 bouton supprimer / editer par ligne de ta base de donnée, et tu lui mets un id qui va bien. Et tu laisses tes variables de session tranquilles, ça ne sert à rien dans ton cas


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1822891
keo64
Posté le 06-12-2008 à 15:50:19  profilanswer
 

merci de ton aide j'ai finallement enoyé vers un autre fichier qui contiendre l'effacement de la ligne rechercher:

Code :
  1. <?php
  2. session_start();
  3. $sql="DELETE  FROM piece WHERE idpiece='".$_SESSION['idpiece']."'";
  4. mysql_query($sql);
  5. echo $sql;
  6. echo "<h1>article à été effacé</h1>";
  7. echo $_SESSION['idpiece'];
  8. mysql_close();
  9. ?>


je pense que comme j'ai fait 2 fois php self ,la session idpiece a alors a cause du fetch array pointer sur la dernière ligne
 
merci encore :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [resolu]n'arrive pas a supprimer la bonne ligne de ma bdd

 

Sujets relatifs
[résolu] Bug GROUP By sur MySql 3.23 ?[résolu] Boost + convention d'appel __stdcall ?
[Résolu] Ne pas charger une page pdt la vérifi des variable de session[Résolu] [PHP] Soucis avec Header
[RESOLU] Parsing de CSV avec Text::CSV_XC ou à l'arrache[résolu] Runtime error sur une assignation de SUMIF
[Résolu] Vous avez dit Memcpy() ?![JS ] Conflit ***.js avec prototype.js
Compilation MySQL avec C++ Builder 2006 [Resolu][RÉSOLU]problème de Requète MySQL
Plus de sujets relatifs à : [resolu]n'arrive pas a supprimer la bonne ligne de ma bdd


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR