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 :

Modifier une donnée dans une table [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre actif
    Inscrit en
    Janvier 2006
    Messages
    1 220
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 220
    Points : 262
    Points
    262
    Par défaut Modifier une donnée dans une table
    Bonjour,
    Je voudrais modifier une donnée dans une table. Jusque là je sais faire :
    update classement set points=points+10; (par exemple)

    mais ce que je veux c'est modifié cette donnée si cette même donnée est dans une autre table. Du genre, je veux modifier les points d'un joueur si ce joueur est dans la table qualification.
    Vous voyez ?

    Merci d'avance

  2. #2
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Quelle moteur ? Quelle version ?

  3. #3
    Membre actif
    Inscrit en
    Janvier 2006
    Messages
    1 220
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 220
    Points : 262
    Points
    262
    Par défaut
    ie ou mozilla
    et pour la version easyphp1.8 ou wampserver

  4. #4
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Euh j'en déduit que c'est mysql.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    UPDATE table1, table2
    SET table1.champ = 'XXX'
    WHERE table1.user_id = table2.user_id

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 45
    Points : 54
    Points
    54
    Par défaut
    Encore toi !!
    Pour modifier ta table tu fais bien un update
    Et la condition tu la met dans ton programme notamment à la fin de ton while après avoir afficher les resultats
    En effet à ce moment là tu auras le nom de tes 2 joueurs qui se sont affrontés
    Donc tu sais à qui tu dois ajouter des points

  6. #6
    Membre confirmé Avatar de amika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    498
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2004
    Messages : 498
    Points : 464
    Points
    464
    Par défaut
    Supposons que un joueur est identifié par un ID_Joueur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UPDATE tableJoueur SET points =points+10 where ID_Joueur IN (SELECT ID_Joueur FROM tableQualifiction )

  7. #7
    Membre actif
    Inscrit en
    Janvier 2006
    Messages
    1 220
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 220
    Points : 262
    Points
    262
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $req6 = "update classement, tour_suivant set classement.pts=pts+10 where classement.nom=tour_suivant.nom";
    		$res6=mysql_query($req6);
    j'ai 4 noms dans ma table qualification, donc dans ma table classement il devrait mettre ces 4 noms à 10 (si ils avaient 0 points au départ).
    Mais là il m'en met un à 10, l'autre 20, puis 30 et enfin 40. Alors que moi je veux qu'il prenne les points d'origine auquel il ajoute 10

  8. #8
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ...set classement.pts = classement.pts+10 where...

  9. #9
    Membre actif
    Inscrit en
    Janvier 2006
    Messages
    1 220
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 220
    Points : 262
    Points
    262
    Par défaut
    voilà à quoi ressemble ma dernière requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $req6 ="update classement, tour_suivant set classement.pts=classement.pts+10 where classement.nom=tour_suivant.nom";
    	$res6=mysql_query($req6);
    et toujours le problème 10, 20, 30, 40

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 45
    Points : 54
    Points
    54
    Par défaut
    Tu ve ajouter 10 a tous les participants ou seulement aux perdants ?
    Cela va dépendre du tour ou ils sont arrivés non ?
    Par exemple si un joueur perd au niveau 1 il gagne 10 points
    S'il perd au tour 2 il gagne 20 points etc... ????

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 45
    Points : 54
    Points
    54
    Par défaut
    Je voudrais connaitre les différents score associer a $diff
    s'il est égal à 0 quel est le résultat du match ?
    s'il est supérieur à 0 c'est le 1er joueur qui gagne ??
    s'il est inférieur c'est le 2eme joueur ??
    c'est ça ??

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 45
    Points : 54
    Points
    54
    Par défaut
    Pourquoi tu as créer une table tour_suivant???
    T'as pas rajouter une colonne tour dans ta table qualification ?

  13. #13
    Membre actif
    Inscrit en
    Janvier 2006
    Messages
    1 220
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 220
    Points : 262
    Points
    262
    Par défaut
    nan j'ai pris la 1ère solution que tu m'avais donnée, créer une table tour_suivant pour les joueurs qualifié.
    $diff>=0 c'est le joueur1 qui gagne
    $diff<0 c'est le joueur2 qui gagne.

    Pour le système tu as tout compris, mais c'est au gagnant donc ce qui sont dans la table tour suivant. Cela je veux leur rajouté par exemple 10 points (la colonne points se trouvant dans la table classement)

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 45
    Points : 54
    Points
    54
    Par défaut
    Oui mais comme tu l'avais dit tu vas devoir créer une table pour chaque tour
    Je pense que notre réflexion sur le fait d'ajouter une colonne tour dans ta table qualification était une meilleure solution
    Et sinon tu veux donc rajouter 10 points aux gagnants et rien aux perdants c ça ?

  15. #15
    Membre actif
    Inscrit en
    Janvier 2006
    Messages
    1 220
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 220
    Points : 262
    Points
    262
    Par défaut
    maintenant si je créer une colonne supplémentaire j'ajouterais les points au perdants alors comment faire ?

  16. #16
    Membre actif
    Inscrit en
    Janvier 2006
    Messages
    1 220
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 220
    Points : 262
    Points
    262
    Par défaut
    Voilà ma nouvelle requête mais çà ne fonctionne pas plus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    update classement set pts=pts+10 where classement.nom=qualification.nom and qualification.tour='tour 1';
    J'ai donc créé une colonne tour et j'insère donc tour 1 pour les perdant à qui je veux rajouter 10 points. Mais la requête ne donne rien

  17. #17
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    il te manque la table qualification dans ta requete

  18. #18
    Membre actif
    Inscrit en
    Janvier 2006
    Messages
    1 220
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 220
    Points : 262
    Points
    262
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    update classement, qualification set pts=pts+10 where classement.nom=qualification.nom and qualification.tour='tour1';
    Comme ceci ? Cà ne change rien.Mes joueurs ont tous 0 points au départ donc après cette requête les perdants devrait avoir 10 points. Mais mes 4 perdants se retrouvent avec 10, 20, 30 et 40 points. Ils doit ajouter à chaque perdants 10 points je ne vois pas ce qui bloque ?

  19. #19
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Quel est le résultat de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT classement.nom, classement.pts
    FROM classement, qualification 
    WHERE classement.nom=qualification.nom and qualification.tour='tour1'
    ?

  20. #20
    Membre actif
    Inscrit en
    Janvier 2006
    Messages
    1 220
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 220
    Points : 262
    Points
    262
    Par défaut
    je viens de la tester sous mysql elle marche et lorsque que je l'insère dans mon code avec un echo çà fait ceci :
    admettons que les perdants sont pierre, paul, jacques et jean. Voici ce que j'ai inséreré
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $req6 ="select classement.nom, classement.pts from classement, qualification where classement.nom=qualification.nom and qualification.tour='tour1';";
    	$res6=mysql_query($req6);
    	while ($row=mysql_fetch_row($res6))
    	{
    		echo"$row[0], $row[1]";
    	}
    Dans le echo j'ai :
    pierre, pierre, paul, pierre, paul, jacques, pierre, paul, jacques, jean.

    En fait à chaque boucle il affiche un nom plus ce affiché précedement

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [Toutes versions] coller les données d'une plage d'une cellule dans une cellule d'une autre feuille[VBA]
    Par arthson dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/01/2012, 17h37
  2. Modifier le style d'une page dans une frame via une autre frame
    Par Menontona dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/12/2011, 18h54
  3. [WD16] Lecture donnée d'une base dans une valeur d'une autre base
    Par gef13 dans le forum WinDev
    Réponses: 2
    Dernier message: 16/11/2011, 09h05
  4. modifier un élément d'une form dans une méthode d'une autre form
    Par baldebaran dans le forum Windows Forms
    Réponses: 9
    Dernier message: 14/08/2009, 13h59
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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