Problème de suppression de données

Problème de suppression de données - PHP - Programmation

Marsh Posté le 18-10-2005 à 14:54:26    

Bonjour,
 
Je veux afficher ma liste des clients selon une lettre choisie de l'alphabet. Si j'appuie sur la lettre A tous les clients avec les nom commençant par A s'afficheraient. Pour l'instant quand j'appuie sur n'importe quel lettre il n'y a rien qui s'affiche. Voilà mon code :
 
 
<html>
<?
include('connection.php');
include('erreur.lib.php');
 
$lettre = htmlspecialchars(htmlentities($_GET['clinom'], ENT_QUOTES));
?>
 
<table border="0" cellspacing="5" cellpadding="5" align="center">
<tr>
<td><a href="?afficherliste&lettre=A">A</a></td>
<td><a href="?afficherliste&lettre=B">B</a></td>
<td><a href="?afficherliste&lettre=C">C</a></td>
<td><a href="?afficherliste&lettre=D">D</a></td>
<td><a href="?afficherliste&lettre=E">E</a></td>
<td><a href="?afficherliste&lettre=F">F</a></td>
<td><a href="?afficherliste&lettre=G">G</a></td>
<td><a href="?afficherliste&lettre=H">H</a></td>
<td><a href="?afficherliste&lettre=I">I</a></td>
<td><a href="?afficherliste&lettre=J">J</a></td>
<td><a href="?afficherliste&lettre=K">K</a></td>
<td><a href="?afficherliste&lettre=L">L</a></td>
<td><a href="?afficherliste&lettre=M">M</a></td>
<td><a href="?afficherliste&lettre=N">N</a></td>
<td><a href="?afficherliste&lettre=O">O</a></td>
<td><a href="?afficherliste&lettre=P">P</a></td>
<td><a href="?afficherliste&lettre=Q">Q</a></td>
<td><a href="?afficherliste&lettre=R">R</a></td>
<td><a href="?afficherliste&lettre=S">S</a></td>
<td><a href="?afficherliste&lettre=T">T</a></td>
<td><a href="?afficherliste&lettre=U">U</a></td>
<td><a href="?afficherliste&lettre=V">V</a></td>
<td><a href="?afficherliste&lettre=W">W</a></td>
<td><a href="?afficherliste&lettre=X">X</a></td>
<td><a href="?afficherliste&lettre=Y">Y</a></td>
<td><a href="?afficherliste&lettre=Z">Z</a></td>
</tr>
</table>
<?
$reponse = "SELECT * FROM client WHERE clinom like '".$lettre."%'";
$rechclient = mysql_query($reponse) or die ($errReq);
?>
<fieldset>
<label>Nom     Prénom    Adresse  NPA    Localité   Téléphone   Mobile   Date de naissence   Numéro d'identité   Mot de passe   Numéro Parrain   Comentaire</label><br />
<?
while ($donnees = mysql_fetch_array($rechclient))  
{
echo "<".$donnees['clinom']." ".$donnees['clipre']." ".$donnees['cliadr']." ".$donnees['clinpa']." ".$donnees['cliloc']." ".$donnees['clitel']." ".$donnees['climob']." ".$donnees['clidatenais']." ".$donnees['clinumide']." ".$donnees['climdp']." ".$donnees['clinum_est_parraine']." ".$donnees['clicom']."<br>";
}
?>
</fieldset>
<?
mysql_close(); // Déconnexion de MySQL
?>
</html>


Message édité par jyms2005 le 22-10-2005 à 23:11:06
Reply

Marsh Posté le 18-10-2005 à 14:54:26   

Reply

Marsh Posté le 18-10-2005 à 14:56:45    

si tu veux qu'on lise ton post, utilise les boutons pour poster le code !

Reply

Marsh Posté le 18-10-2005 à 15:10:55    

de quel boutons vous parlez pour poster le code?

Reply

Marsh Posté le 18-10-2005 à 15:13:43    

jyms2005 a écrit :

de quel boutons vous parlez pour poster le code?

http://forum-images.hardware.fr/icones/message/c.gif

Reply

Marsh Posté le 18-10-2005 à 15:36:37    

Mais à part le faite que j'ai dû poster mon code avec ce bouton  
est-ce qu'il y aurait qqch d'autre qui joue pas?

Reply

Marsh Posté le 18-10-2005 à 15:39:28    

là tu récupères une variable passé en get qui s'appelle clinom :

Code :
  1. $lettre = htmlspecialchars(htmlentities($_GET['clinom'], ENT_QUOTES));


alors que ici tu passes en params en get une variable qui s'appelle lettre :

Code :
  1. <a href="?afficherliste&lettre=A">A</a>


 
tu vois mieux le pb ??

Reply

Marsh Posté le 18-10-2005 à 15:41:33    

oui je crois que je vois.  Merci

Reply

Marsh Posté le 18-10-2005 à 15:46:49    

En faite je vois mais je ne sais pas comment faire.

Reply

Marsh Posté le 18-10-2005 à 15:48:54    

jyms2005 a écrit :

En faite je vois mais je ne sais pas comment faire.

t'es sûr de voir alors ? relis bien la réponse de titione, y'a tout ce qu'il faut...

Reply

Marsh Posté le 18-10-2005 à 16:02:11    

Je n'arrive tj pas à régler ce p... de problème!!!

Reply

Marsh Posté le 18-10-2005 à 16:02:11   

Reply

Marsh Posté le 18-10-2005 à 16:04:17    

titione a écrit :

là tu récupères une variable passé en get qui s'appelle clinom :

Code :
  1. $lettre = htmlspecialchars(htmlentities($_GET['clinom'], ENT_QUOTES));


alors que ici tu passes en params en get une variable qui s'appelle lettre :

Code :
  1. <a href="?afficherliste&lettre=A">A</a>


 
tu vois mieux le pb ??


 
Tout est dit, là. [:pingouino]


---------------
http://www.alsacreations.com, http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net. A ne surtout pas prendre en exemple : http://www.worldinternet.be
Reply

Marsh Posté le 18-10-2005 à 16:14:59    

oui je comprends ce qui vous voulez dire mais n'arrive pas à le faire. Je suis débutant en php et j'ai de la peine un peu.

Reply

Marsh Posté le 18-10-2005 à 16:20:33    

essaie  
 

Code :
  1. <html>
  2. <?
  3. include('connection.php');
  4. include('erreur.lib.php');
  5. $lettre = htmlspecialchars(htmlentities($_GET['lettre'], ENT_QUOTES));
  6. ?>


Message édité par imcdb le 18-10-2005 à 16:20:48

---------------
Réagissez et commentez mes dessins sur snut.fr
Reply

Marsh Posté le 18-10-2005 à 16:22:42    

j'ai déjà essayé ça, mais ça ne marche pas?

Reply

Marsh Posté le 18-10-2005 à 16:38:30    

est-ce que quelqu'un pourrait allumer la lumière au bout du tunnel?? Merci

Reply

Marsh Posté le 18-10-2005 à 16:52:49    

si t'étais plus précis dans tes messages tu serais déjà sorti du tunnel...
- "ça ne marche pas?" ça veut dire quoi pour toi ?
- apprend à debugger tes applis :
   - par exemple fait un echo $_GET['lettre']; pour vérifier que ce n'est pas vide
   - met un error_reporting(E_ALL); au début du script... etc

Reply

Marsh Posté le 22-10-2005 à 23:17:39    

Bonsoir,
 
Le probleme avec l'affichage selon la lettre de l'alphabét c'est résolu déjà.
 
Maintenant j'ai rajouté également un boton supprimer dans la boucle. Dans la table client j'ai rajouté un champ que j'appelle cliact (champ boolean qui a comme valeur 0 ou 1) , si c'est 1 l'enregistrement s'affiche et si c'est 0 il s'affiche pas. Quand je teste le bouton supprimer je fais une requête de mise à jour du champ cliact à 0 mais apparement ça ne marche pas. Merci beaucoup,
 
Voici le code :

Code :
  1. <html>
  2. <?
  3. include('erreur.lib.php');
  4. include('connection.lib.php');
  5. ?>
  6. <table border="0" cellspacing="2" cellpadding="3" align="center">
  7. <tr>
  8. <td><a href="afficherliste.php?clinom=A">A</a></td>
  9. <td><a href="afficherliste.php?clinom=B">B</a></td>
  10. <td><a href="afficherliste.php?clinom=C">C</a></td>
  11. <td><a href="afficherliste.php?clinom=D">D</a></td>
  12. <td><a href="afficherliste.php?clinom=E">E</a></td>
  13. <td><a href="afficherliste.php?clinom=F">F</a></td>
  14. <td><a href="afficherliste.php?clinom=G">G</a></td>
  15. <td><a href="afficherliste.php?clinom=H">H</a></td>
  16. <td><a href="afficherliste.php?clinom=I">I</a></td>
  17. <td><a href="afficherliste.php?clinom=J">J</a></td>
  18. <td><a href="afficherliste.php?clinom=K">K</a></td>
  19. <td><a href="afficherliste.php?clinom=L">L</a></td>
  20. <td><a href="afficherliste.php?clinom=M">M</a></td>
  21. <td><a href="afficherliste.php?clinom=N">N</a></td>
  22. <td><a href="afficherliste.php?clinom=O">O</a></td>
  23. <td><a href="afficherliste.php?clinom=P">P</a></td>
  24. <td><a href="afficherliste.php?clinom=Q">Q</a></td>
  25. <td><a href="afficherliste.php?clinom=R">R</a></td>
  26. <td><a href="afficherliste.php?clinom=S">S</a></td>
  27. <td><a href="afficherliste.php?clinom=T">T</a></td>
  28. <td><a href="afficherliste.php?clinom=U">U</a></td>
  29. <td><a href="afficherliste.php?clinom=V">V</a></td>
  30. <td><a href="afficherliste.php?clinom=W">W</a></td>
  31. <td><a href="afficherliste.php?clinom=X">X</a></td>
  32. <td><a href="afficherliste.php?clinom=Y">Y</a></td>
  33. <td><a href="afficherliste.php?clinom=Z">Z</a></td>
  34. </tr>
  35. </table>
  36. <?
  37. $lettre = htmlspecialchars(htmlentities($_GET['clinom'], ENT_QUOTES));
  38. $reponse = "SELECT * FROM client WHERE clinom like '".$lettre."%'";
  39. $rechclient = mysql_query($reponse) or die ($errReq);
  40. $nbligne = mysql_num_rows($rechclient);
  41. if ($nbligne == 0)
  42. {
  43. echo "$errEnreg";
  44. }
  45. else
  46. {
  47. while ($donnees = mysql_fetch_assoc($rechclient))
  48. {
  49. ?><fieldset>
  50. <form action="afficherliste.php" method="post">
  51. <input type ='hidden' name='clinumparraine' value ='<?=$donnees['clinum']?>'>
  52. <label> Nom :</label>
  53. <?echo ($donnees['clinom']);?><br\>
  54. <label> Prénom :</label>
  55. <?echo ($donnees['clipre']);?><br\>
  56. <label> Adresse :</label>
  57. <?echo ($donnees['cliadr']);?><br\>
  58. <label> NPA :</label>
  59. <?echo ($donnees['clinpa']);?><br\>
  60. <label> Localité :</label>
  61. <?echo ($donnees['cliloc']);?><br\>
  62. <label> Téléphone :</label>
  63. <?echo ($donnees['clitel']);?><br\>
  64. <label> Mobile :</label>
  65. <?echo ($donnees['climob']);?><br\>
  66. <label> Date de naissance :</label>
  67. <?echo ($donnees['clidatenais']);?><br\>
  68. <label> Numéro d'identité :</label>
  69. <?echo ($donnees['clinumide']);?><br\>
  70. <label> Mot de passe :</label>
  71. <?echo ($donnees['climdp']);?><br\>
  72. <label> N° client parrainage :</label>
  73. <?echo ($donnees['clinum_est_parraine']);?><br\>
  74. <label> Commentaire :</label>
  75. <?echo ($donnees['clicom']);?><br\>
  76. <input type="submit" name="supprimer" value="Supprimer"/>
  77. </form>
  78. </fieldset><br\>
  79. <?
  80. }
  81. }
  82. if ($_POST['supprimer'] == "Supprimer" )
  83. {
  84. $clientDesactif = "UPDATE `client` SET cliact=0 WHERE clinum='clinumparraine'";
  85. $reqClientDesact = mysql_query($clientDesactif);
  86. }
  87. mysql_close(); // Déconnexion de MySQL
  88. ?>
  89. </html>


Message édité par jyms2005 le 22-10-2005 à 23:21:34
Reply

Marsh Posté le 23-10-2005 à 00:23:54    

Quelqu'un aurait des idées?  
Merci

Reply

Marsh Posté le 23-10-2005 à 21:10:36    

Bonsoir,
 
J'ai corrigé la requête d'update après le if et maintenant ça joue au niveau de cette requête.  
 
Voici ce bout de code:
 

Code :
  1. if ($_POST['supprimer'] == "Supprimer" )
  2. {
  3. $eCliNumDelete = $_POST['clinumparraine'];
  4. $clientDesactif = "UPDATE `client` SET cliact=0 WHERE clinum=".$eCliNumDelete;
  5. $reqClientDesact = mysql_query($clientDesactif) or die ($errReq);
  6. $reqCompte="select * from `client`
  7. where cliact=1";
  8. $resultat = mysql_query($reqCompte);


 
J'ai rajouté également une requête de select où j'affiche seulement les clients où le champ cliact est à 1.  
Maintenant à l'éxecution de ce script j'ai tous les clients qui s'affichent mais le problème c'est que quand je clique sur supprimer tous les clients appairaissent en double dans l'affichage sauf pour celui que j'ai supprimé puisqu'il vient de se faire supprimé, donc il apparaît qu'une fois. Autrement tous les autres apparaissent en double dans l'affichage. J'aimerais que les clients soient affichés qu'une fois sans avoir des doublons dans l'affichage quand je clique sur supprimmer et pouvoir supprimer normallement.  
Merci beaucoup

Reply

Marsh Posté le 23-10-2005 à 22:53:48    

Est-ce que quelqu'un aurait une idée de comment afficher qu'une fois les clients et quand je clique sur supprimer, supprimer seule celui que je veux supprimer et mette à jour l'affichage?
Merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed