IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Effacement de données - code qui ne fonctionne pas [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Effacement de données - code qui ne fonctionne pas
    Bonjour !

    Je voudrais permettre l'enregistrement dans une base de données mysql d'un pseudo et d'un score.
    Concernant ce score, je souhaite :
    - qu'il ne soit enregistré que s'il est supérieur aux scores précédents.
    - que tous les scores déjà enregistrés soient supprimés de la base de donnée s'ils sont inférieurs au nouveau score.

    J'ai écrit ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $insertScore = "INSERT INTO $table values('$newPlayer','$newScore')";
    mysql_query($insertScore);
    $deleteScores = "DELETE FROM $table WHERE player = $newPlayer AND score < $highestUserScore ";
    mysql_query($deleteScores);
    Les nouveaux scores sont bien enregistrés s'ils sont supérieurs aux anciens scores. Mais les anciens scores ne sont pas supprimés...

    La requête pour effacer les données est-elle correctement écrite ?

    Merci pour votre aide.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    ce n'est pas $newScore le nouveau score le plus haut ?

  3. #3
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Je parie que tu as une erreur.
    Pourquoi tu ne vérifie pas le retour de tes mysql_query ?

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 149
    Points : 206
    Points
    206
    Par défaut
    WHERE player = $newPlayer
    Il ne faut pas sélectionner de joueur si tu comptes effacer tous les scores inférieurs.

    Edit: Heeuuu, sauf si plusieurs score gardé pour un meme joueur, donc affiche la requete sql voir si elle est bonne.

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 149
    Points : 206
    Points
    206
    Par défaut
    Et si $newPlayer est une chaine :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ...WHERE player = '$newPlayer' AND...

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Bonjour '

    Je m'en suis sorti finalement en supprimant d'abord tous les scores de l'utilisateur, avant de publier le nouveau et en mettant des apostrophes autour de $newPlayer .

    $deleteScores = "DELETE FROM $table WHERE player = '$newPlayer'";
    mysql_query($deleteScores);
    $insertScore = "INSERT INTO $table values('$newPlayer','$newScore')";
    mysql_query($insertScore);
    Merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 05/04/2011, 11h42
  2. Réponses: 10
    Dernier message: 30/03/2007, 17h30
  3. [Language] Code qui ne fonctionne pas
    Par kevinf dans le forum Langage
    Réponses: 2
    Dernier message: 21/11/2006, 21h08
  4. Code qui ne fonctionne pas
    Par maxti dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 22/10/2006, 11h45
  5. Code qui ne fonctionne pas sur Mac
    Par malbaladejo dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 14/01/2005, 11h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo