"simple" requete delete et update !

Petit nouveau ! | 6 Messages

05 avr. 2008, 00:02

Bonjour à tous,

Voila tous est dans le titre,
Je suis débutant en php j'arrive à faire des insert, select mais pas de delete
ce qui est embetant :-(

J'est deux fichier un admin.php et un suppression.php
et une base de donnée abonnee avec trois champs membre_id, membre_ pseudo, membre_mail


Remarque je sais qu'il peut y avoir d'autre erreurs comme des $ en trop
ou une manière de coder bizarre.....melange html et php
Mais ça marche sauf pour le delete :??:
Je corrigerais les autres erreur après Merci de ne pas en tenir compte

Ce qui m'intéresse c'est le delete (Merci de ne pas trop faire de remarque où critique sur ces fautes pour l'instant ! ;) )

Je suppose qu'il manque quelque chose ! (requete,variable)

Je met tout le code (un peu lourd :( )

Seule le PHP est en balise :(

merci à tout ceux qui pourrait m'aider.

admin.php

<?
// je me connect a la base
@mysql_connect("localhost","root","" ) or die("Echec de connexion au serveur." );
@mysql_select_db("abonnee" ) or die("Echec de sélection de labase." );
?>



<?
$marequete = "SELECT * FROM t_membre ORDER BY membre_pseudo,membre_mail ASC";
$resultat = mysql_query($marequete);
?>

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Document sans titre</title> <link href="border.css" rel="stylesheet" type="text/css" /> </head> <body> <table width="600" align="center" cellspacing="10" id="border"> <tr> <td bgcolor="#f3f3f3"> <h3 align="center"> <hr /> Administration de site. <hr /> </h3> </td> </tr> [php]<? while ($ligne=mysql_fetch_array($resultat)) { ?>[/php]<tr> <td bgcolor="#F5F5F5"> <hr /> &nbsp; Pseudo : <strong>[php]<? echo $ligne["membre_pseudo"]; ?>[/php]</strong><br /> &nbsp; Mail : <strong>[php]<? echo $ligne["membre_mail"]; ?>[/php]</strong> <hr /> </td> <tr><td bgcolor="#E6E6E6"> <hr /><form action="supression.php" method="post" name="forulaire" id="forulaire"> <div align="center"> <input name="maliste" type="submit" value="suprimer" /> </div> </form> <div align="center">|<a href="ajout.php">Ajoutter</a>|&nbsp;&nbsp;&nbsp;|Modifier|&nbsp;&nbsp;&nbsp;| <a href="supression.php[php]?id="+$ligne["id"] [/php]>Supprimer</a>| </div> <hr /></td></tr> [php]<? } ?>[/php] <tr> <td bgcolor="#f3f3f3"><h5><hr /> &nbsp;&copy;IEPS 2008 <hr /></h5></td> </tr> </table> </body> </html>


supression.php

<?
// je me connect a la base
@mysql_connect("localhost","root","" ) or die("Echec de connexion au serveur." );
@mysql_select_db("abonnee" ) or die("Echec de sélection de labase." );
?>
 
<? $id=$_POST['id']; ?>
<? $lemail=$_POST['mail']; ?>
<!-- $SQL = "DELETE FROM livredor";
$SQL .= " WHERE ID=" .$delete';
$result = mysql_query($SQL);
DELETE FROM jeux_videos WHERE nom='Battlefield 1942'-->
<? $sql = "DELETE FROM t_membre WHERE (membre_id=" + $id; ?>

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Document sans titre</title> <link href="border.css" rel="stylesheet" type="text/css" /> </head> <body> <table width="600" align="center" cellspacing="10" id="border"> <tr> <td bgcolor="#D8D8D8"><h4><hr /> &nbsp; ADMINISTRATION : Supression de membre. <hr /> </h4></td> </tr> <tr> <td bgcolor="#E9E9E9"> <h5 align="center"><strong>Confirmation de supression d'un membre.</strong></h5> <div align="center"><br /> <strong>[php]<? echo $ligne["membre_pseudo"]; ?>[/php]</strong> <br /> </div> <hr / width="50%"><br /> </td> </tr> <tr> <td bgcolor="#D8D8D8"><h5><hr />&nbsp;&copy;IEPS 2008<hr /></h5></td> </tr> </table> </body> </html>
[/code]
Modifié en dernier par ordisoft le 21 avr. 2008, 00:46, modifié 2 fois.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

05 avr. 2008, 00:09

Hello,
N'hésite pas à encadrer tout le code (aussi html) avec les balises [ php] ça ne pose aucun souci :wink:


L'intéressant est
<? $sql = "DELETE FROM t_membre WHERE (membre_id=" + $id; ?> 
où il y a un élément en trop... indice en bas de ton écran... "parenthèse"

Sujet qui te servira à l'avenir :)

Et je n'ai même pas regardé le reste de ton code donc je ne commente pas O:)

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Petit nouveau ! | 6 Messages

05 avr. 2008, 00:57

Merci d'avoir répondue si vite,

la requete est-elle correcte
J'est essayer plusieurs version et aucune n'efface dans la table !

il y à une erreur peut être dans la manière d'écrire la variable: =" + $id
<? $sql = "DELETE FROM t_membre WHERE membre_id=" + $id; ?> 

aurais-tu une idée de la syntaxe correcte ?

Mammouth du PHP | 19672 Messages

05 avr. 2008, 09:14

Tu as utilisé un opérateur de concaténation propre à JavaScript ("+") au lieu de celui propre à PHP (".").
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

05 avr. 2008, 12:50

Arf en effet je suis passé trop vite sur ce "détail"...
(pour ma défense : c'est ça de bosser en milieu "java" on en oublie les bases php O:) )

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Petit nouveau ! | 6 Messages

05 avr. 2008, 16:52

Tu as utilisé un opérateur de concaténation propre à JavaScript ("+") au lieu de celui propre à PHP (".").
Salut,

J'est essayer toutes ses syntaxe sans succès !
<? $sql = "DELETE FROM t_membre WHERE membre_id=.$id"; ?>
<? $sql = "DELETE FROM t_membre WHERE membre_id"=.$id; ?>
<? $sql = "DELETE FROM t_membre WHERE membre_id"='.$id;' ?>
<? $sql = "DELETE FROM t_membre WHERE membre_id='.$id;'" ?>
<? $sql = "DELETE FROM t_membre WHERE membre_id='.$id'"; ?>
[/php]
Modifié en dernier par ordisoft le 05 avr. 2008, 17:01, modifié 1 fois.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

05 avr. 2008, 16:57

la requete est-elle correcte
SI tu as lu le sujet indiqué par Truc tu dois avoir essayé des moyens de le savoir.
Est-ce que tu as essayé directement sur la base ? Sans variable, erenseignant toi-même l'id pour obtenir un modèle de requête qui marche ?
J'est essayer plusieurs version et aucune n'efface dans la table !
Et qu'est-ce que ça dit ? Comment essayes-tu ?

Je ne vois aucun "mysql_query()" pour ta requête DELETE.
Par contre j'en vois au dessus avec des @ devant, et ça c'est mal, ça aide pas vraiment à débugger.

Suis les étapes du sujet, tu arriveras à trouver ton problème tout seul.

Mammouth du PHP | 19672 Messages

05 avr. 2008, 17:05

J'ai essayé toutes ses syntaxe sans succès !
<? $sql = "DELETE FROM t_membre WHERE membre_id=.$id"; ?>
<? $sql = "DELETE FROM t_membre WHERE membre_id"=.$id; ?>
<? $sql = "DELETE FROM t_membre WHERE membre_id"='.$id;' ?>
<? $sql = "DELETE FROM t_membre WHERE membre_id='.$id;'" ?>
Pas la bonne :
Représente-toi la requête d'abord, par exemple :

Code : Tout sélectionner

DELETE FROM t_membre WHERE membre_id=12
Ce qu'on veut remplacer de façon variable, c'est ici le "12", rien d'autre.

D'autre part, la requête n'est pour PHP qu'une chaine de caractères sans signification. Au départ, on écrit notre code avec la chaine de caractère en brut :
<? $sql = "DELETE FROM t_membre WHERE membre_id=12"; ?> 
Maintenant, on remplace le "12" par la variable qui va bien en faisant une concaténation :
<? $sql = "DELETE FROM t_membre WHERE membre_id=". $id .""; ?> 
Et là, on peut supprimer la fin qui n'encadre rien entre la variable et le ";" de fin d'instruction. On obtient alors :
<? $sql = "DELETE FROM t_membre WHERE membre_id=". $id; ?> 
Plus clair comme ça ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 422 Messages

06 avr. 2008, 15:03

Je suis débutant en php j'arrive à faire des insert, select mais pas de delete
Insert, select et delete n'ont rien à voir avec le PHP : c'est du SQL.
Au risque de paraître tatillon, je pense qu'il faut d'abord que tu fasses bien la différence entre PHP, SQL, HTML et Javascript. Cela te permettra de mieux cerner tes problèmes.

Petit nouveau ! | 6 Messages

21 avr. 2008, 00:34

Voici la solution qui fonctionne !

le DELETE et UPDATE

admin.php

Code : Tout sélectionner

<? // je me connect a la base mysql_connect("localhost","root","") or die("Echec de connexion au serveur."); mysql_select_db("abonnee") or die("Echec de sélection de labase."); ?> <? $marequete = "SELECT * FROM t_membre ORDER BY membre_pseudo ASC"; $resultat = mysql_query($marequete); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Document sans titre</title> <link href="border.css" rel="stylesheet" type="text/css" /> <link /> </head> <body> <table width="600" align="center" cellspacing="10" id="border"> <tr> <td bgcolor="#f3f3f3"> <h3 align="center"> <hr /> Administration de site. <hr /> </h3> </td> </tr> <tr> <td bgcolor="#F5F5F5"><? while ($ligne=mysql_fetch_array($resultat)) { ?> <hr /> &nbsp; Pseudo :<? echo $ligne["membre_pseudo"]; ?> <br /> &nbsp; Mail : <? echo $ligne["membre_mail"]; ?> <hr /></td></tr> <tr><td bgcolor="#E6E6E6"> <hr /><div align="center">| <a href="modifier.php?id=<? echo $ligne["membre_id"]; ?>">Modifier</a>|&nbsp;&nbsp;&nbsp;| <a href="supression.php?id=<? echo $ligne["membre_id"]; ?>">Supprimer</a>| </div> <hr /><? } ?></td></tr> <tr> <td bgcolor="#f3f3f3"><h5><hr /> &nbsp;&copy;IEPS 2008 <hr /></h5></td> </tr> </table> </body> </html>

supression.php

Code : Tout sélectionner

<? // je me connect a la base mysql_connect("localhost","root","") or die("Echec de connexion au serveur."); mysql_select_db("abonnee") or die("Echec de sélection de labase."); ?> <? $marequete = "DELETE FROM t_membre WHERE membre_id=".$_GET["id"]; ?> <? $resultat = mysql_query($marequete);?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Document sans titre</title> <link href="border.css" rel="stylesheet" type="text/css" /> </head> <body> <table width="600" align="center" cellspacing="10" id="border"> <tr> <td bgcolor="#D8D8D8"><h4><hr /> &nbsp; ADMINISTRATION : Supression de membre. <hr /> </h4></td> </tr> <tr> <td bgcolor="#E9E9E9"> <h5 align="center"><strong>Confirmation de supression d'un membre.</strong></h5> <div align="center"><a href="admin.php">Retour</a> </div> <hr / width="50%"><br /> </td> </tr> <tr> <td bgcolor="#D8D8D8"><h5><hr />&nbsp;&copy;IEPS 2008<hr /></h5></td> </tr> </table> </body> </html>

modifier.php

Code : Tout sélectionner

<? // je me connect a la base mysql_connect("localhost","root","") or die("Echec de connexion au serveur."); mysql_select_db("abonnee") or die("Echec de sélection de labase."); ?> <? $requete_todo="SELECT * FROM t_membre WHERE membre_id=".$_GET["id"]; $resultat = mysql_query($requete_todo); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Document sans titre</title> <link href="border.css" rel="stylesheet" type="text/css" /> </head> <body> <table width="600" align="center" cellspacing="10" id="border"> <tr> <td bgcolor="#D8D8D8"><h4><hr /> &nbsp; ADMINISTRATION : Modification de membre. <hr /> </h4></td> </tr> <tr> <td bgcolor="#E9E9E9"> <form action="modifier2.php" method="post" enctype="multipart/form-data" name="form1" id="form1"> <? $ligne = mysql_fetch_array($resultat) ?> <h5 align="center"><strong>Modification du membre suivant :</strong></h5> <div align="center">&nbsp; Pseudo : <strong><input name="membre_pseudo" type="text" id="membre_pseudo"value="<? echo $ligne["membre_pseudo"]; ?>" /> </strong><br /> &nbsp; Mail : <strong><input name="membre_mail" type="text" id="membre_mail" value="<? echo $ligne["membre_mail"]; ?>" /></strong><br /> </div><input name="membre_id" type="hidden" id="membre_id" value="<? echo $ligne["membre_id"]; ?>" /> <hr / width="50%"> <div align="center"> <input type="submit" name="submit" value="Envoyer" /> </div></form></td> </tr> <tr> <td bgcolor="#D8D8D8"><h5><hr />&nbsp;&copy;IEPS 2008<hr /></h5></td> </tr> </table> </body> </html>

modifier2.php

Code : Tout sélectionner

<? // je me connect a la base mysql_connect("localhost","root","") or die("Echec de connexion au serveur."); mysql_select_db("abonnee") or die("Echec de sélection de labase."); ?> <? $requete_todo="SELECT * FROM t_membre WHERE membre_id=".$_GET["id"]; $resultat = mysql_query($requete_todo); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Document sans titre</title> <link href="border.css" rel="stylesheet" type="text/css" /> </head> <body> <table width="600" align="center" cellspacing="10" id="border"> <tr> <td bgcolor="#D8D8D8"><h4><hr /> &nbsp; ADMINISTRATION : Modification de membre. <hr /> </h4></td> </tr> <tr> <td bgcolor="#E9E9E9"> <form action="modifier2.php" method="post" enctype="multipart/form-data" name="form1" id="form1"> <? $ligne = mysql_fetch_array($resultat) ?> <h5 align="center"><strong>Modification du membre suivant :</strong></h5> <div align="center">&nbsp; Pseudo : <strong><input name="membre_pseudo" type="text" id="membre_pseudo"value="<? echo $ligne["membre_pseudo"]; ?>" /> </strong><br /> &nbsp; Mail : <strong><input name="membre_mail" type="text" id="membre_mail" value="<? echo $ligne["membre_mail"]; ?>" /></strong><br /> </div><input name="membre_id" type="hidden" id="membre_id" value="<? echo $ligne["membre_id"]; ?>" /> <hr / width="50%"> <div align="center"> <input type="submit" name="submit" value="Envoyer" /> </div></form></td> </tr> <tr> <td bgcolor="#D8D8D8"><h5><hr />&nbsp;&copy;IEPS 2008<hr /></h5></td> </tr> </table> </body> </html>
Un autre UPDATE à ce post:
http://www.phpfrance.com/forums/viewtop ... highlight=


Merci à vous tous qui avez participé.