Se connecter / S'enregistrer

Résolu Supprimer une donnée SQL

Solutions (15)
Tags :
  • Sql
  • Programmation
|
Bonjour,
dans ce code j'aimerai inclure a la fin un if permettant de refuser l'ajout de plus de tels points,mon code :

  1. <?php
  2. if (isset($_POST['prenom']) AND isset($_POST['pseudo']) AND isset($_POST['points']) AND isset($_POST['rate']))
  3. {
  4. if ($_POST['prenom'] != NULL AND $_POST['pseudo'] != NULL AND $_POST['points'] != NULL AND $_POST['rate'] != NULL)
  5. {
  6. mysql_connect("localhost", "XXXXXXX", "XXXXXX");
  7. mysql_select_db("XXXXXXX");
  8.  
  9. $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
  10. $prenom = mysql_real_escape_string(htmlspecialchars($_POST['prenom']));
  11. $points = mysql_real_escape_string(htmlspecialchars($_POST['points']));
  12. $rate = mysql_real_escape_string(htmlspecialchars($_POST['rate']));
  13.  
  14. echo "<font color=\"green\"><b><center>Etape 1 : Profil ajouté avec succes !</center></b></font>";
  15.  
  16. mysql_query("INSERT INTO jeux VALUES('', '$prenom', '$pseudo', '$points', '$rate')");
  17. mysql_close();
  18. }
  19. }
  20. ?>


Et une idée du if que je souhaite :

  1. if($points > 20)
  2. {
  3. /* INSTRUCTIONS PERMETTANT DE SUPPRIMER TOUT CE QUE LE VISITEUR A POSTÉ (la donnée sql) */
  4. mysql_close();
  5. }


Voila je n'ai aucune idée de comment est constitué l'instruction que je désire,j'ai tout essayer et rien n'a fonctionné !
Merci de m'aider !
Contenus similaires
Meilleure solution
partage
|
1. <?php
if($points < 20) {
2. if (isset($_POST['prenom']) AND isset($_POST['pseudo']) AND isset($_POST['points']) AND isset($_POST['rate']))
3. {
4. if ($_POST['prenom'] != NULL AND $_POST['pseudo'] != NULL AND $_POST['points'] != NULL AND $_POST['rate'] != NULL)
5. {
6. mysql_connect("localhost", "XXXXXXX", "XXXXXX" );
7. mysql_select_db("XXXXXXX" );
8.
9. $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
10. $prenom = mysql_real_escape_string(htmlspecialchars($_POST['prenom']));
11. $points = mysql_real_escape_string(htmlspecialchars($_POST['points']));
12. $rate = mysql_real_escape_string(htmlspecialchars($_POST['rate']));
13.
14. echo "<font color=\"green\"><b><center>Etape 1 : Profil ajouté avec succes !</center></b></font>";
15.
16. mysql_query("INSERT INTO jeux VALUES('', '$prenom', '$pseudo', '$points', '$rate')" );
17. mysql_close();
18. }
19. }
} else {
echo 'vous avez plus de 20 points';
}
20. ?>
  • Commenter cette solution |
Score
0
òh
òi
|
Meilleure réponse sélectionnée par ma_08.
  • Commenter cette réponse |
Score
0
òh
òi
|
Merci tout le monde !
  • Commenter cette réponse |
Score
0
òh
òi
|
ben je mettais le code pour que tu ai un exemple de suppression.... le reste, les autres contributeurs l'ont déjà posté
  • Commenter cette réponse |
Score
0
òh
òi
|
Et dans ton code quand est-ce que qu'on ajoute la donnée ?
Tu ne fais que supprimer la :-)
  • Commenter cette réponse |
Score
0
òh
òi
|
l'idéal est de faire un delete sur la clef primaire de ta table...


j'ai supposé pour les noms des champs de ta table....



mysql_connect("localhost", "XXXXXXX", "XXXXXX" );
mysql_select_db("XXXXXXX" );

$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
$prenom = mysql_real_escape_string(htmlspecialchars($_POST['prenom']));
$points = mysql_real_escape_string(htmlspecialchars($_POST['points']));
$rate = mysql_real_escape_string(htmlspecialchars($_POST['rate']));

mysql_query("DELETE FROM jeux WHERE jeux.prenom = '$prenom' AND jeux.pseudo = '$pseudo' [etc mais la clef c'est mieux....] ");

mysql_close();

echo "<font color=\"red\"><b><center>Etape 1 : Profil supprimé avec succes !</center></b></font>";
  • Commenter cette réponse |
Score
0
òh
òi
|
Oui oui les gens je sais qu'il faut utiliser DELETE en sql mais j'ai tout essayé mais la ligne ne se supprime pas ...

Merci ;) 
  • Commenter cette réponse |
Score
0
òh
òi
|
oki, j'avoue, j'ai pas trop lu son code ;) 
  • Commenter cette réponse |
Score
0
òh
òi
, Modérateur |
Dans son cas, en fonction du code qu'il a donné, il ne va insérer qu'une seule ligne, donc un LIMIT 1 serait bon.
  • Commenter cette réponse |
Score
0
òh
òi
|
Eu si je ne me trompe pas avec un Limit 1 tu ne va effacer qu'une ligne.
Si l'utilisateur a inséré plus d'une ligne, ça risque de poser probleme.

Le mieux serait (comme tu l'indiques) d'utiliser une transaction sql, mais si ma-08 utilise le moteur MyIsam de MySql, il n'est pas transactionnel si je ne m'abuse, donc pas possible... (erf)

bref, il faut faire les Delete "a la main" dans le code, sans se viander ;) 


Bon courage !








  • Commenter cette réponse |
Score
0
òh
òi
, Modérateur |
pour éviter de tout effacer, ajoute toujours un LIMIT 1 à la fin
  • Commenter cette réponse |
Score
0
òh
òi
|
bonjour

il faut utiliser delete en SQL.

delete from ma_table where ma_condition

Attention à la clause where : très facile de tout effacer par erreur...

a+
  • Commenter cette réponse |
Score
0
òh
òi
|
Merci Okinou ;-)
Et si je veux supprimer la donnée avec sql ça donnerait quoi ?
  • Commenter cette réponse |
Score
0
òh
òi
|
Bonsoir et merci de ta réponse,
Je vois très bien ce que tu veux dire mais je ne sais pas ou placer le if dans mon code et que mettre comme instruction a l'interieur de cette structure ?

Edit : De plus c'est juste pour savoir comme supprimer une donnée avec du sql ESSENTIELLEMENT dans mon code

saha omar

  • Commenter cette réponse |
Score
0
òh
òi
, Modérateur |
Salut,

Pourquoi tout simplement ne pas faire la transaction si $points > 20, plutôt que d'annuler la transaction déjà effectuée ?
  • Commenter cette réponse |

Ce n'est pas ce que vous cherchiez ?

Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS