Ce forum est maintenant fermé, seule cette archive statique reste consultable.
  FORUM Rue-Montgallet.com
  Programmation
  Php - Sql

  probleme de supression te d'update de base

Bas de page
Auteur Sujet :

probleme de supression te d'update de base

n°12542
Profil sup​primé
Posté le 14-04-2005 à 09:16:17  
 

jsuis donc embeter par un probleme dont je ne voit pas la solution    
 
pour suprimer une entrer de ma base j'ai coder les ligne suivante :  
 
soit  
 
$sql = "DELETE FROM la_base WHERE (id_admin != '1') AND (admin = ".$_post['admin']." )";  
 
soit  
 
while ($data = mysql_fetch_assoc($req))  
     {  
     if(id_admin == '1')  
           {  
           echo"supression impossible";  
           }  
     else  
           {  
           $sql = "DELETE FROM la_base WHERE (id_admin != '1') AND ('.$data['admin'].' = '.$_post['admin'].')";  
           }  
      }  
 
mais j'ai des erreurs et jvois pas ou  
 
 
sinon pour l'update ca donne :  
 
$sql = "UPDATE la_base SET valeur = ".$_POST['valeurx']." WHERE ".$_POST['modifier." = Modifier";  
 
Modifier etant un submit.  
 
 
 
niveau messages d'erreur...
alors pour la supression j'ai :  
 
Parse error: parse error, expecting 'T_STRING' or 'T_VARIA2BLE' or T_NUM_STRING' in e:\...\fichier.php on line 44  
ce qui revient a la ligne  
  $sql = "DELETE FROM la_base WHERE (id_admin != '1') AND ('.$data['admin'].' = '.$_post['admin'].')";  
 
pour le second delete j'ai :  
 
ma requeteDELETE FROM la_base WHERE (id_admin != '1') est defectueuseUnknown column 'admin' in 'where clause'  
 
pour l'update j'ai:  
ma requeteUPDATE la_base SET valeur = ".$_POST['valeurx']." WHERE ".$_POST['modifier." = Modifier est defecteuseYou have an error in your SQL syntax; check the manual corresponds to your MySQL server version for the right syntax to use near 'machin WHERE Modifier = Modifier' at line 1  
 
a la ligne 1 j'ai :  
<form method="post" action="">  
 
si vous avez une idée ca m'aiderai beaucoup     :jap:

mood
Pub
Posté le 14-04-2005 à 09:16:17  
 

n°12545
Leyna
Profil : Jeune recrue
Posté le 14-04-2005 à 12:42:16  
 

Tu devrais peut être faire des  
echo mysql_errno() . ": " . mysql_error(). "<br>";
Tu verrais mieux d'où viennent tes erreurs.
 
Je crois qu'il faut préciser le nom du champ à supprimer après DELETE.
Il te manque une fermeture de crochet là : $_POST['modifier."
 
La fonction isset($_POST['modifier'] pourrait aussi t'aider.
 
Voilà, en ce qui me concerne jpeux pas faire plus.
 
Bon courage ! :)

n°12547
Profil sup​primé
Posté le 14-04-2005 à 13:27:56  
 

michi ca fait deja une idee de chose a voir :d
mais poyur les crochets c'est la recopie ;) jsuis pas en train de coder sur le pc qui est connecter au net (reseau d'entreprise :o )


Message édité par Profil supprimé le 14-04-2005 à 13:32:36
n°12549
pote
Profil : Membre
Posté le 14-04-2005 à 13:49:17  
 

Il y a un probleme dans ta premiere requete car tu mélange les guillemet et les quotes si je ne dis pas de bétise. Soit tu met l'un, soit tu met l'autre mais pas les 2. Enfin je crois...
Je m'explique si tu n'as pas compris.  
Soit tu met $sql = 'DELETE FROM la_base WHERE (id_admin != '1') AND ('.$data['admin'].' = '.$_post['admin'].')';
Soit tu met $sql = "DELETE FROM la_base WHERE (id_admin != '1') AND (".$data['admin']." = ".$_post['admin']." )";
De plus, si ta variable $data['admin'] est un string, tu dois choisir la premiere solution et rajouté des guillemet pour entourer ta valeur.
 
Ca donnerais ca si je ne me trompe pas:
$sql = 'DELETE FROM la_base WHERE (id_admin != '1') AND ('.$data['admin'].' = "'.$_post['admin'].'" )';
 
Mais comme je ne suis pas spécialiste des bases de données, je peux pas trop te dire si ca va marcher.

n°12550
pote
Profil : Membre
Posté le 14-04-2005 à 13:50:31  
 

Autre chose que je n'avais pas vu, si je ne me trompe pas, les quotes autour du 1 ne sont pas obligatoire et c'est ptet meme une erreur.

n°12557
Profil sup​primé
Posté le 15-04-2005 à 08:06:42  
 

oki ba jvais essayer ca et jte tiens au courant ;)

n°12558
Profil sup​primé
Posté le 15-04-2005 à 08:22:35  
 

ca me marque que c'est reussi mais ca n'efface aps la ligne de la base :( sinon le '1' c'etait bien une source d'erreur :d faut mettre juste 1 ;)
 
une idee du pourquoi que ca marche po ?
 
while ($data = mysql_fetch_assoc($req))  
     {  
     if(id_admin == '1')  
           {  
           echo"supression impossible";  
           }  
     else  
           {  
           $sql = 'DELETE FROM la_base WHERE (id_admin != 1) AND ('.$data['admin'].' = "'.$_post['admin'].'" )';  
           }  
      }  
$req = mysql_query ( $sql) or die ('ma requete'.sql.'est defectueuse'.mysql_error());
 
mysql_close();
 
echo'<META http-equiv="refresh" content="0;index.php?page=accueil">';

n°12560
pote
Profil : Membre
Posté le 15-04-2005 à 10:41:48  
 

Tu as essayé de faire un echo de ta variable $_POST['admin']? Si ca se trouve c'est ca le probleme.
De la meme façon que dans la requete, dans ton if enleve les quote autour du 1. Sinon il ira dans le else meme si c'est égal à 1.  
Autre probleme qui pourrait survenir plus tard, si tu passe dans ta if, aprés, lors de l'execution de ta requete, il ne connaitra pas $sql.
Voila ce que je vois comme possible erreur pour le moment.

n°12561
Profil sup​primé
Posté le 15-04-2005 à 11:42:59  
 

c'est '.$data['admin'].' qui n'as pas de contenu en fait, '.$_post['admin'].' affiche bien ce qui a ete entré dans la case.

n°12563
pote
Profil : Membre
Posté le 15-04-2005 à 12:05:05  
 

je suis dsl je peux pas t'aider pour ca. Je ne connais pas $data.

n°12564
pote
Profil : Membre
Posté le 15-04-2005 à 12:12:11  
 

Si j'ai bien compris ta requete, je crois que tu peux te passer du $data.
Tu met directement: [....] AND (admin(si c'est le nom du champ dans ta table) = "'.$_post['admin'].'" )'

n°12565
Profil sup​primé
Posté le 15-04-2005 à 12:32:57  
 

ca marche pas plus :(
jme torture l'esprit depuis 3 jours avec ca...
 
upadte idem, mais j'ai reussi ce matin par hazard apres ton post sur DELETE  :whistle:


Message édité par Profil supprimé le 15-04-2005 à 12:37:26
n°12566
pote
Profil : Membre
Posté le 15-04-2005 à 13:09:56  
 

quelques questions pour m'aider.
id_admin c'est un champ de ta table ou alors c'est un variable? SI c'est une variable, ca n'a pas a etre dans ta requete. Le fait que tu sois dans la if suffit. Donc tu pe enlever (id_admin != 1).
ENsuite, j'ai une question qui pe parraitre bete comme ca, mais quand tu met la_base, tu veut dire la_table non? Car sinon je pense que c'est ca le prob. Tu pe virer une ligne d'une table, mais pas d'une base de données.
 
Pour le Update, j'avais pas regardé cette partie encore.
d'aprés moi le prob c'est que modifier est un string donc tu dois entouré ce que tu veux mettre dedans par des guillemet. Donc comme pour l'autre tu met des quote a la place des guillemets et tu rajoute des guillemets autour du mot "modifier" comme ceci:
$sql = 'UPDATE la_base SET valeur = '.$_POST["valeurx"].' WHERE '.$_POST["modifier"].' = "Modifier"';
Essaie ca et dis moi ce que ca fait.

n°12567
Profil sup​primé
Posté le 15-04-2005 à 13:23:33  
 

ba updatre ca marche depuis 10h ce matin ;)
sinon id_admin c'est de la table, dinc vi t'as rasion, je teste deux fois la meme chose :( jsuis une cruche en ce moment ...
oui, la_base c'est la table, mais c'est pour diferencier les differentes tables :d

n°12568
Profil sup​primé
Posté le 15-04-2005 à 13:27:26  
 

ca change toujours rien  :fou:

n°12569
pote
Profil : Membre
Posté le 15-04-2005 à 13:35:04  
 

Et donc le delete ca ne fait pas d'erreur mais ca ne supprime rien c'est ca?
dans ce cas, fait un echo $sql dans ton else pour voir la requete en entier.

n°12570
Profil sup​primé
Posté le 15-04-2005 à 13:36:04  
 

vi tout a fait exact
 
oki jfais ca ...

n°12571
Profil sup​primé
Posté le 15-04-2005 à 13:40:20  
 

avec echo' '.$sql.' ';
ca affiche "SELECT machin From la_base"
et c'est pas le bon truc :cry: c'est la partie qui va avec update ca !
 
jcrois que je sais ce qui merde ...


Message édité par Profil supprimé le 15-04-2005 à 13:40:58
n°12572
Profil sup​primé
Posté le 15-04-2005 à 13:45:22  
 

et la j'ai une erreur enfin ...
 
Warning: mysql_fetch_assoc(): supplied argument is not valid MYSQL ressource in ...\fichier.php at line 36 et la ligne 36 c'est ...
while ($data = mysql_fetch_assoc($req))    

n°12573
pote
Profil : Membre
Posté le 15-04-2005 à 13:50:34  
 

juste comme ca, dans le code que tu nous as mis, il n'y a rien dans $req. Tu n'as pas mis cette partie du code. SI je connais pas le contenu de ta requete je peux pas te dire.


Message édité par pote le 15-04-2005 à 13:51:25
n°12574
Profil sup​primé
Posté le 15-04-2005 à 13:53:36  
 

$req = mysql_query ( $sql) or die ('ma requete'.sql.'est defectueuse'.mysql_error());  
 
mysql_close();  
 
echo'<META http-equiv="refresh" content="0;index.php?page=accueil">';
 
c'est dans le bas du premier post ;)

n°12575
pote
Profil : Membre
Posté le 15-04-2005 à 14:04:41  
 

oui mais que contient $sql?

n°12576
Profil sup​primé
Posté le 15-04-2005 à 14:10:07  
 

ba $sql contient la valeur du champ rentré que je demande de taper,a  savoir le choix de l'admin a suprimer

n°12577
pote
Profil : Membre
Posté le 15-04-2005 à 14:17:24  
 

tu récupére la valeur du champ par une requete sql? je comprend pas bien la...
car tu fais un $req = mysql_query ( $sql) or die ('ma requete'.sql.'est defectueuse'.mysql_error());
c'est donc que $sql contient une requete. Sinon c'est normal qu'il trouve rien.

n°12578
pote
Profil : Membre
Posté le 15-04-2005 à 14:19:21  
 

Enfin comme je l'ai déja dit, je ne suis pas un pro donc je peux faire des erreurs et ne pas tout comprendre.

n°12579
Profil sup​primé
Posté le 15-04-2005 à 14:23:09  
 

ba jvais aller voir un pote ce soir jpense en partant du boulot, en plus il aura tout le code sous els yeux ca sera plus facile, jmettrai mon code final et ou etait l'erreur si on arrive a trouver :d

n°12580
pote
Profil : Membre
Posté le 15-04-2005 à 14:27:11  
 

ok, bonne chance

n°12627
Profil sup​primé
Posté le 19-04-2005 à 08:34:41  
 

cha donne ca quand ca marche :
 
$sql = 'DELETE FROM la_base WHERE admin = "'.$_post['admin'].'" ';  
 
$req = mysql_query ( $sql) or die ('ma requete'.sql.'est defectueuse'.mysql_error());  
 
mysql_close();  
 
echo'<META http-equiv="refresh" content="0;index.php?page=accueil">';
 
supression de l'admin apres securité du super utilisateur :d

  FORUM Rue-Montgallet.com
  Programmation
  Php - Sql

  probleme de supression te d'update de base

© 2000-2024 Forum.rue-montgallet.com - Tous droits réservés