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 :

calcul de points [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    142
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 142
    Par défaut calcul de points
    Bonjour,
    J'ais un soucis avec la sources suivante car je voudrais qu'elle ajoute 50 points au membres qui la visite et en meme temp ajouté 250 points a l'id "1" malheuresement cela ne fonctionne pas elle n'ajoute pas les 50 points et encore pire elle efface les points de l'id "1" pour lui donner la valeur de 250.
    Si quelqu'un aurait une explication pour me permettre d'avancer sa serait sympa .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
     
    <? include('header.php'); ?>
     
    <?php include('config.php');
    // Récupération du nombre de points
    $sql = ("SELECT visits FROM tb_users WHERE id='$id'");
    $result = mysql_query($sql) or die (mysql_error());
    $points = $result[0];
    // Calcul des points
    $pointfin = $points+50;
    // Operation
    mysql_query("UPDATE tb_users SET visits = $pointfin WHERE id='$id'") or die ('Erreur : '.mysql_error());
    mysql_query("UPDATE tb_users SET visits = $points+250 WHERE id='1'") or die ('Erreur : '.mysql_error());
    // Rappel le nombre de points
    echo'<br/>Vous avez reçu '. $pointfin .' points concour';
    ?>
    <? include('footer.php'); ?>

  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
    Par défaut
    tu confonds les champs mysql et les variables php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query("UPDATE tb_users SET visits = visits +250 WHERE id='1'")
    Et il manque une étape dans ta requete au début :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $result = mysql_query($sql) or die (mysql_error());
    $row = mysql_fetch_row($result);
    $points = $row[0];
    Tu n'as pas besoin d'encadrer tes valeurs d'id : ce sont des champs numeriques.


    Et sinon dans le code que tu montres, $id n'est pas défini.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    142
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 142
    Par défaut
    J'ais modifié le script suivant mais il n'ajoute toujour pas les 50 points aux membre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    <? include('header.php'); ?>
     
    <?php include('config.php');
    // Récupération du nombre de points
    $id = ("SELECT id FROM tb_users");
    $sql = ("SELECT visits FROM tb_users WHERE id='$id'");
    $result = mysql_query($sql) or die (mysql_error());
    $row = mysql_fetch_row($result);
    $points = $row[0];
    // Calcul des points
    $pointfin = $points+50;
    // Operation
    mysql_query("UPDATE tb_users SET visits = $pointfin WHERE id='$id'") or die ('Erreur : '.mysql_error());
    mysql_query("UPDATE tb_users SET visits = visits +250 WHERE id='1'");
    // Rappel le nombre de points
    echo'<br/>Vous avez reçu '. $pointfin .' points concour';
    ?>
    <? include('footer.php'); ?>

  4. #4
    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
    Par défaut
    $id doit evidemment etre un numero d'id existant dans ta base.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    142
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 142
    Par défaut
    Oui je l'ais bien compris mais justement c'est l'id du membres qui est conecté a cette page que je n'arrive pas a récupérer.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Salut,


    Le fait d'écrire tes requêtes de cette manière implique que ton champ id dans la table tb_users soit de type caractère (varchar ou autre de ce style)

    $sql = ("SELECT visits FROM tb_users WHERE id='$id'");

    mysql_query("UPDATE tb_users SET visits = $pointfin WHERE id='$id'") or die ('Erreur : '.mysql_error());
    mysql_query("UPDATE tb_users SET visits = visits +250 WHERE id='1'");
    Si ton champ id est de type INTEGER dans la table tb_users de données, il faudra écrire tes requêtes sans les ' '

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    142
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 142
    Par défaut
    Quand je retire les guillemets sa m'ecris .

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT id FROM tb_users WHERE id=' at line 1

    Voici a nouveau le code concerné

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    <? include('header.php'); ?>
     
    <?php include('config.php');
    // Récupération du nombre de points
    $id = ("SELECT id FROM tb_users WHERE id= $id ");
    $sql = ("SELECT visits FROM tb_users WHERE id= $id ");
    $result = mysql_query($sql) or die (mysql_error());
    $row = mysql_fetch_row($result);
    $points = $row[0];
    // Calcul des points
    $pointfin = $points+50;
    // Operation
    mysql_query("UPDATE tb_users SET visits = $pointfin WHERE id= $id ") or die ('Erreur : '.mysql_error());
    mysql_query("UPDATE tb_users SET visits = visits +250 WHERE id= 1 ");
    // Rappel le nombre de points
    echo'<br/>Vous avez reçu '. $pointfin .' points concour';
    ?>
    <? include('footer.php'); ?>

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

Discussions similaires

  1. Calcul de points sur un cone
    Par lenoil dans le forum Mathématiques
    Réponses: 1
    Dernier message: 21/03/2008, 15h44
  2. Calculs de points fixes
    Par iamsebfont dans le forum MATLAB
    Réponses: 2
    Dernier message: 08/10/2007, 15h45
  3. Calculer les points
    Par ameno_123 dans le forum Langage
    Réponses: 5
    Dernier message: 20/09/2007, 22h08
  4. calcul coordonnées point
    Par diambu dans le forum Langage
    Réponses: 15
    Dernier message: 23/07/2007, 16h25
  5. calculs des points
    Par rabi dans le forum OpenGL
    Réponses: 11
    Dernier message: 12/02/2004, 10h03

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