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 :

Incrémenter les variables d'une table PHP


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2013
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 53
    Par défaut Incrémenter les variables d'une table PHP
    Bonjour,

    Je cherche à incrémenter les variables (position) des joueurs d'une même room. Pour cela je sélectionne le premier joueur trouvé dans la liste des joueurs de la room et je lui donne pour position 0 puis je selectionne le second trouvé et je lui donne pour position 1 ect...

    Voici mon code qui ne fonctionne pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    //$roomjoueur le nombre de joueurs dans la room
    for ($compteur=0; $compteur<$roomjoueur; $compteur++) {
    $reqjoueurn = $bdd->prepare('SELECT id_joueur FROM joueurs WHERE id_room = ? ORDER BY id_joueur LIMIT ?,1');
    $reqjoueurn->execute(array($_SESSION['id_room'], $compteur));
    $joueurn = $reqjoueurn->fetch();
     
    $insertmbr = $bdd->prepare("UPDATE joueurs SET position = ? WHERE id_joueur = ?");
    $insertmbr->execute(array($compteur, $joueurn['id_joueur']));
    }
    Si je remplace le 2eme ? par un 0,1,2... cela marche mais pas avec une variable. :/

    Il y aurait il une autre solution ?

  2. #2
    Membre confirmé
    Homme Profil pro
    Formation Cnam
    Inscrit en
    Octobre 2015
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Formation Cnam

    Informations forums :
    Inscription : Octobre 2015
    Messages : 27
    Par défaut
    je ne pense pas que mettre une requête dans une boucle soit une bonne idée, mais je peux me tromper.
    D'habitude on fait une boucle pour trier les données.

    Et aussi je crois que tu fais un 'prepare' avec une requête 'select' ce qui n'as pas de sens à mon goût. Je pense que c'est plutot réservé le prepare à un 'insert'. Et je peux aussi me tromper.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Je répète :
    tant que tu ne sauras pas exprimer clairement, avec des mots, le but que tu veux atteindre, tu ne sauras pas comment l'atteindre.

    La LOGIQUE de ton code est totalement fausse.


    Et vu que tu n'expliques pas à quoi ça doit servir, on ne peux pas t'orienter vers une meilleure solution.
    Dernière modification par Invité ; 12/12/2015 à 20h19.

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Par défaut
    Je ne me pronnce pas sur la quesiton originale, qui n'est pas claire du tout en effet, mais sur ceci:

    Citation Envoyé par AS_PTT Voir le message
    je ne pense pas que mettre une requête dans une boucle soit une bonne idée, mais je peux me tromper.
    D'habitude on fait une boucle pour trier les données.
    Tu te trompes. On peut tout mettre dans une boucle, y compris une requête. Dans le cas qui nous intéresse, la partie prepare() ne change pas, donc il faut la mettre en dehors de la boucle. La partie execute() a bien sa place dans une boucle.

    Citation Envoyé par AS_PTT Voir le message
    Et aussi je crois que tu fais un 'prepare' avec une requête 'select' ce qui n'as pas de sens à mon goût. Je pense que c'est plutot réservé le prepare à un 'insert'. Et je peux aussi me tromper.
    Effectivement, tu te trompes, et je corrige pour les débutants qui risquent de tomber sur tes "conseils". On doit faire une requête préparée à chaque fois qu'on envoie des variables issues de l'extérieur vers la base des données. La préparation (prepare + execute) sert à protéger la requête contre une injection, et l'injection peut survenir dans toutes les formes de requête MYSQL.

  5. #5
    Membre confirmé
    Homme Profil pro
    Formation Cnam
    Inscrit en
    Octobre 2015
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Formation Cnam

    Informations forums :
    Inscription : Octobre 2015
    Messages : 27
    Par défaut
    ok, merci ces des questions que je me posais en fait. Merci pour tes réponses

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2013
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 53
    Par défaut
    Finalement j'ai opté pour incrémenter la variable position lors de l'entré d'un joueur dans une room, donc mon problème est résolu.
    Merci quand même ^^

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

Discussions similaires

  1. [MySQL] Compter les enregistrements d'une table php 5.1.3 mysql 5.0
    Par dagor31 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 18/11/2013, 13h23
  2. [MySQL] Question sur les Variables dans une requête php-Mysql
    Par rvtoulon dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 23/02/2012, 12h06
  3. Renommer toutes les variables d'une table
    Par Cannaould dans le forum Débutez
    Réponses: 3
    Dernier message: 27/01/2012, 12h27
  4. Séparer les variables d'une table
    Par Imfafa dans le forum SAS Base
    Réponses: 5
    Dernier message: 13/05/2011, 18h29
  5. declarer les variables d une table
    Par blaise4714 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 08/05/2009, 11h31

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