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 :

Unknown column in 'field list'


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 28
    Par défaut Unknown column in 'field list'
    Bonjour,

    Je suis entrain de faire la distributions des ressources pour mon site et cela bug...En effet, ça m'affiche plus rien enfin si, la bannière et le message d'erreur pas plus.

    Voici ce que je veux faire :

    30 000 écus toutes les 30 minutes
    50 * dragons possédés par le joueurs
    1 tour de jeu (une attaque possible)

    et voici mon script :

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    <?php
     
    $base = mysql_connect ('', '', ''); 
           mysql_select_db ('', $base);
     
    $reponse_membres = mysql_query("SELECT pseudo, ecus, mana, tours, temps, nombre FROM membres") or die (mysql_error());
    $reponse_time = mysql_query("SELECT timestamp FROM temps") or die (mysql_error());
    $infos_time = mysql_fetch_array($reponse_time);
    $timestamp_actuel = time();
    $timestampBDD = $infos_time['timestamp'];
    $timestamp_ecoule = $timestamp_actuel - $timestampBDD;
    $nombre_demi_heures_decimal = $timestamp_ecoule / 1800;
    $nombre_demi_heures = number_format($nombre_demi_heures_decimal, 0, '.', ' ');
    if($nombre_demi_heures >=1)
      {
       while($infos_membres = mysql_fetch_array($reponse_membres))
         {
          $pseudo_ajour = $infos_membres['pseudo'];
          $troupes_rep = mysql_query("SELECT dragons FROM troupes WHERE pseudo='".$pseudo_ajour."'");
          $troupes = mysql_fetch_array($troupes_rep);
     
          $ecus_du_joueur = $infos_membres['ecus'];
          $ecus_en_plus = 30000 * $nombre_demi_heure;
          $ecus_a_mettre_a_jour = $ecus_du_joueur + $ecus_en_plus;
     
          $nombre_de_dragons = $troupes['dragons'];
          $mana_deja_possede = $infos_membres['mana'];
          $mana_en_plus = ($nombre_de_dragons * 50) * $nombre_demi_heures;
          $actualisation_mana = $mana_deja_possede + $mana_en_plus;
     
          $nombre_de_tours_du_joueur = $infos_membres['tours'];
          $tours_en_plus = 1 * $nombre_demi_heures;
          $actualisation_tours = $nombre_de_tours_du_joueur + $tours_en_plus;
     
          $nouveau_time = $timestampBDD + (1800 * $nombre_demi_heures);
     
          mysql_query("UPDATE temps SET timestamp='".$nouveau_time."'");
          mysql_query("UPDATE membres SET ecus='".$ecus_a_mettre_a_jour."', mana='".$actualisation_mana."', tours='".$actualisation_tours."' WHERE pseudo='".$pseudo_ajour."'")or die (mysql_error());
     
         }
      }
    $reponse_ecus = mysql_query("SELECT pseudo, ecus, mana, tours, temps, nombre FROM membres") or die (mysql_error());
    $heure_journee = date('H', $timestamp_actuel);
    while($ecus = mysql_fetch_array($reponse_ecus))
    { 
       if($heure_journee == 48)
          {
            if($ecus['nombre'] == 0)
              {
               $pseudo_ajour = $ecus['pseudo'];
               $temps1 = mt_rand(1,4);
               $temps = number_format($temps1, 0, '.', ' ');
               mysql_query("UPDATE membres SET temps='".$temps."', nombre='1' WHERE pseudo='".$pseudo_ajour."'");
               }
           }
         elseif($ecus['nombre'] == 1)
           {
            if($heure_journee == 49)
               {
               $pseudo_ajour = $ecus['pseudo'];
                mysql_query("UPDATE membres SET nombre='0' WHERE pseudo='".$pseudo_ajour."'");
               }
           }
    }
    ?>
    Merci d'avance

    Bonne fin de journée

  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
    Bonjour,

    Et quel est le message d'erreur affiché justement ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 28
    Par défaut
    Voici ce que ça me mets :

    Unknown column 'pseudo' in 'field list'

  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
    Est-ce que ta table "troupes" contient une colonne "pseudo" ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 28
    Par défaut
    À non, j'ai effectivement oublié la table troupes

    Mais j'ai une table "membres", je ne peux pas mettre dedans le champ "troupes" ?

  6. #6
    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
    Dans ta table "troupes" tu devrais avoir une champ indiquant l'id du membre a qui appartient la troupe.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 28
    Par défaut
    Ok merci donc ça table devrait donner ça :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    CREATE TABLE IF NOT EXISTS `troupes` (
      `id` int(11) NOT NULL,
      `dragons` bigint(9) NOT NULL
      `canoniers` bigint(9) NOT NULL
      `fusiliers` bigint(9) NOT NULL
      `canons_lourds` bigint(9) NOT NULL
      `mortiers` bigint(9) NOT NULL
      `fusiliers_a_cheval` bigint(9) NOT NULL
      `corsaires` bigint(9) NOT NULL
      `highlander` bigint(9) NOT NULL
      `navires_legers
      `navires_bombardiers` bigint(9) NOT NULL
      `galeres` bigint(9) NOT NULL
        `time` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;

  8. #8
    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
    Il y a l'id du membre la dedans ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 28
    Par défaut
    Oui là :

    `id` int(11) NOT NULL,

  10. #10
    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
    Et l'id de la troupe alors c'est quoi ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 28
    Par défaut
    Eu...Comment dois-je faire alors ?

  12. #12
    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
    Une bonne structure serait :

    ta table "membre" avec un membre_id pour identifier ton joueur

    une table de reference pour les unités existants dans le jeu :
    unite_id
    unite_nom
    unite_puissance
    unite_icone
    etc.

    une table de liaison troupe_composition qui détaille les unités appartenant a une troupe :
    compo_id
    troupe_id
    unite_id
    compo_nbre

    une table de liaison entre un joueur et des troupes :
    troupe_id
    membre_id
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  13. #13
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 28
    Par défaut
    Eu...Pourquoi créer une table avec le nom de toutes mes troupes alors que je veux juste faire un système de ressources, qui donne 30'000 écus, X mana suivant le nombre de dragons possédés un 1 tour d'attaque...

  14. #14
    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
    Je te montre ce qui serait une bonne structure, ca se présente effectivement plutot différemment de ce que tu as actuellement ; libre a toi de ne réaliser qu'une partie de la migration.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  15. #15
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 3
    Par défaut
    ---

  16. #16
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 3
    Par défaut
    Tu peux toujours rajouter l'id de la troupe dans la table membres.
    (ex : id:jacques, id_troupe=1, ..., en gardant ta table troupe qui fait la correspondance avec le nom de la troupe.)

    Mais c'est vrai qu'il vaut mieux partir sur de bonnes "bases", ca évite de tout reprendre par la suite.

  17. #17
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 28
    Par défaut
    Ok merci bien.
    Mais, ça ne me résout toujours pas le problème du systèmes de ressources , ce que tu m'as donné, c'est plutôt pour afficher combien de troupes de chaque type possède le joueur (ça me sera utilise ça aussi=) )

Discussions similaires

  1. unknown column in 'field list'
    Par perla110 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 29/11/2012, 16h19
  2. 1054 - Unknown column 'L' in 'field list'
    Par Pacman23 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 05/10/2009, 10h12
  3. [MySQL] Erreur SQL ! Unknown column '' in 'field list'
    Par jump-jack dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 29/09/2009, 19h16
  4. [MySQL] Unknown column in 'field list'
    Par erfindel dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 13/06/2008, 16h28
  5. [MySQL] message 'unknown column' concernant 'field list'
    Par thannane dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 03/02/2007, 08h24

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