Aller au contenu

Probleme de suppression dans la bdd


Sujets conseillés

Posté (modifié)

Bonjour tous le monde,

Je rencontre un petite probléme dans la suppression de la bdd, je m'explique, le code que j'ai crée a pour fonction de m'afficher dans un tableau les resultats d'une requete, jusque là tous va bien je pense, et la derniere colonne de ce tableau et composée d'une liste deroulante affichant l'entrée ici de la table ble ( en INT, donc par exemple 20 afficheras les chiffres de 0 a 20 ) pour toute les entrées.

Ensuite je selectionne un de ces chiffres ( au hazard sa na pas d'importance car la partie qui update l'entrée si le chiffre est plus petit que le total n'est pas encore faite ) Puis je clique sur le bouton OK.

Et bien mon probleme est que cela ne supprime pas l'entrée sur la ligne ou j'ai cliquer OK mais une autre en particulier la derniere .

Je vous met le code qui devré effectuer ceci

// POST
echo '<form action="marche.php" method="post">';

// Tu affiches ici que l'entête de ta table !
echo '
<table width="580" height="42" border="1">
<tr>
<td>Nom</td>
<td>Quantité</td>
<td>Prix</td>
<td>Choix</td>
</tr>
';

// données effacées...
if (isset($_POST['resse']))
{
mysql_query ('DELETE FROM commerce WHERE id_commerce = "'.$_POST['resse'].'"');
}

$ress = mysql_query ('SELECT * FROM commerce');
// ----------------- boucle pr afficher toute les entrée de la table commerce ---------


// Tu débutes ensuite ta boucle !
while ($donnees = mysql_fetch_array ($ress))
{
$nom_res = $donnees['objet'];
$prix_res = $donnees['prix'];
$quantite_res = $donnees['quantite'];
$id_denre = $donnees['id_commerce'];

// -------tableau affichant toute les entrées -----------
echo '
<tr>
<td width="107">'.$nom_res.'</td>
<td width="181">'.$quantite_res.'</td>
<td width="132">'.$prix_res.'</td>
<td width="10">';

$nombre = 0;
echo '<select name="nbr[]">';
while ($nombre <= $quantite_res)
{
echo '<option value="fr">'.$nombre.'</option>';
$nombre++;
}
echo '</select><INPUT TYPE="hidden" name="resse" VALUE="'.$id_denre.'"><input type="Submit" value="Ok"></td></tr>';

}

//-- fin du If--------------

mysql_close();

?>

Il ya encore du code au dessus qui effectue la vente ( a partir de la table membre vers la table ici commerce )si il ya besoin faite le moi savoir

Merci si vous pouvez m'aider

Modifié par AlphaOme
Posté

Dans ta requête mysql_query ('DELETE FROM commerce WHERE id_commerce = "'.$_POST['resse'].'"'); tu mets la variable $_POST['resse'] entre doubles quotes et je ne suis pas certain que ce soit correct.

As-tu essayé avec des simples quotes ? Par exemple:

mysql_query ("DELETE FROM commerce WHERE id_commerce = '".$_POST['resse']."'");

Posté

j'ai essayer en mettant ta requete , et non sa n'a rien changer c'est toujours la dernier ligne qui se fait supprimer au lieu de celle ou j'ai cliquer sur OK

Posté

C'est assez logique, il me semble que la valeur de $resse sera toujours celle du denier élément.

Tu crées des champs "hidden" dans ta boucle, tous avec le même nom: "ress". Donc ils auront toujours la dernière valeur de $donnees['id_commerce']

Posté (modifié)

Donc comment puis je remedier à ceci à ton avis stp ?

Au lieu de metrre le <INPUT TYPE="hidden" name="resse" VALUE="'.$id_denre.'"><input type="Submit" value="Ok"> dans la boucle je le met en dehors ?

Modifié par AlphaOme

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...