Ou est l'erreur???

Fermé
saidovich Messages postés 43 Date d'inscription mardi 12 août 2008 Statut Membre Dernière intervention 23 septembre 2008 - 27 août 2008 à 15:31
saidovich Messages postés 43 Date d'inscription mardi 12 août 2008 Statut Membre Dernière intervention 23 septembre 2008 - 27 août 2008 à 17:07
SLT, j suis entrain de programmer une bouton supprimer , j'ai tout fais mais j'arrive pas a detecter l'erreur(d'ailleur j me suis enervé) , lors de l'execution du programme , il revoie juste le message "cet element n'existe pas" , ce sais pas pourkoi il ne fais pas le premier et le 2eme test
voila le code:

case 'Supprimer' :
$rep = mysql_query("SELECT * FROM marque");
$num_rows = mysql_num_rows($rep);
if(mysql_num_rows($rep)==0)
{
echo " aucun ligne a supprimer ";
}
else
$table = array('id_marque','designation_marque ','commentaire');
for($i=0;$i<sizeof($table);$i++)
{
if($choix == $table[$i])
{
$Req= "delete from 'marque' where 'marque'.'id_marque' == $choix ";
$response= mysql_query($Req);
}
else
echo" cet element n'existe pas ";
}

break;


merçi de me repondre les gas ;

8 réponses

dreamfeeder Messages postés 253 Date d'inscription samedi 24 novembre 2007 Statut Membre Dernière intervention 25 juillet 2009 54
27 août 2008 à 15:56
bonjour,

ton code c'est beyrouth la lol.

bon je pense que les objectifs sont de supprimer l'enregistrement dont l'id_marque correspond a $choix.
$rep = mysql_query("SELECT * FROM marque where id='".$choix."'");
$ligne = mysql_fetch_row($rep); 

if($ligne)
{
$Req= "delete from marque where id_marque='".$ligne[0]."'";
$response= mysql_query($Req); 
}
else
{
echo "cet element n'existe pas";
}



cordialement, dreamfeeder
0
saidovich Messages postés 43 Date d'inscription mardi 12 août 2008 Statut Membre Dernière intervention 23 septembre 2008 3
27 août 2008 à 16:05
mais pourkoi t'as fait mysql_fetch_row () ?
0
dreamfeeder Messages postés 253 Date d'inscription samedi 24 novembre 2007 Statut Membre Dernière intervention 25 juillet 2009 54
27 août 2008 à 16:10
bonjour,

par habitude j'ai fait vite fait.

mais tu peux bien evidemment utiliser un mysql_num_rows a la place et si le resultat est egale a 1 c que ya une ligne
donc tu utilise le delete en remplacant $ligne[0] par $choix dedans.

cordialement, dreamfeeder
0
saidovich Messages postés 43 Date d'inscription mardi 12 août 2008 Statut Membre Dernière intervention 23 septembre 2008 3
27 août 2008 à 16:16
non ça n'a pas marché ,car pour supprimer un element j'ai utiliser un boucle for , donc j dois exploiter le $i , essayer de revoir le code
merçi infinement ;
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dreamfeeder Messages postés 253 Date d'inscription samedi 24 novembre 2007 Statut Membre Dernière intervention 25 juillet 2009 54
27 août 2008 à 16:26
bonjour,

si j'ai bien compris ce que tu as essayé de faire c'est de recuperer tous les enregistrement de ta table marque pour les inserer dans $table afin de pouvoir apres verifier si un de ses enregistrement a un id_marque egale a $choix et si tel est le cas, supprimer cet enregistrement c'est ca?
0
saidovich Messages postés 43 Date d'inscription mardi 12 août 2008 Statut Membre Dernière intervention 23 septembre 2008 3
27 août 2008 à 16:33
oui exactement ça
0
dreamfeeder Messages postés 253 Date d'inscription samedi 24 novembre 2007 Statut Membre Dernière intervention 25 juillet 2009 54
27 août 2008 à 16:47
donc,

en fait il est un peu maladroit en fait de recuperer tout tes enregistrement pour comparer un id alors que la requete
$rep = mysql_query("SELECT * FROM marque where id='".$choix."'");
va directement verifier si il y a un enregistrement avec un id correspondant a $choix.

en fait pour imager, c'est comme si tu recopier a la main tout un contenu de table puis apres tu regarde ligne par ligne si il y a le bon id ;-)

de plus la ligne
$table = array('id_marque','designation_marque ','commentaire');
ne fais rien d'autre que de creer une variable $table avec $table[0]='id_marque' $table[1]='designation_marque'.

pour info si tu souhaite recuperer plusieur ligne d'une table et traiter ligne par ligne:

$rep = mysql_query("SELECT * FROM marque");
while($table = mysql_fetch_array($rep))
{
traitement
}

pour en revenir au code en fait ce que je te proposer de faire ct de remplacer tout ton code par
case 'Supprimer' : 
//cette ligne selectionne directement dans ta base la ligne ou id_marque est egale a $choix
$rep = mysql_query("SELECT * FROM marque where id_marque='".$choix."'");
$ligne = mysql_fetch_row($rep); 

//si une correspondance est trouvé...
if($ligne)
{
//on supprime cette ligne
$Req= "delete from marque where id_marque='".$ligne[0]."'";
$response= mysql_query($Req); 
}
//sinon on affiche un message comme quoi aucune correspondance n'a été trouvé.
else
{
echo "cet element n'existe pas";
}
break; 


j'espere avoir été assez clair.

cordialement dreamfeeder
0
saidovich Messages postés 43 Date d'inscription mardi 12 août 2008 Statut Membre Dernière intervention 23 septembre 2008 3
27 août 2008 à 17:07
weeeee, enfin succéss , merçiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii ami , tu m'as enormement sauvé
merçi avous encors une foisssssssssssssss
0