tableau de donnée dans base

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • tableau de donnée dans base

    bonjour
    je dispose de données annuelles que j'enregistre dans une table
    je peut le faire une par une ou sous forme de tableau
    je pense cette deuxième solution plus optimisante
    mais comment faire exactement pour les y enregistrer et aussi les réextraire pour vue et model

    merci LJ
    mon avatar : http://www.ingall-niger.org

  • #2
    Re : tableau de donnée dans base

    j'ai un autre soucis
    losque je crée ma deuxième table celle-ci refuse de s'installer
    Code PHP:
    CREATE TABLE `#__batnrj_conso` (
      `
    id_consoint(11NOT NULL auto_increment,
      `
    dpe09[fioul]int(10) DEFAULT NULL,
      `
    id_batint(10unsigned DEFAULT NULL,
      
    PRIMARY KEY  (`id_conso`)
      
    FOREIGN KEY fky_conso (`id_bat`) REFERENCES #__batnrj(id)  
    ENGINE=MyISAM  DEFAULT CHARSET=utf8 
    avec l'erreur suivante
    Code PHP:
    JInstaller::installErreur SQLDB function failed with error number 1064
    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 'FOREIGN KEY fky_conso (`id_bat`) REFERENCES jos_batnrj(id) ) ENGINE=MyISAM D' at line 6 SQL=CREATE TABLE `jos_batnrj_conso` ( `id_consoint(11NOT NULL auto_increment, `dpe09[fioul]int(10) DEFAULT NULL, `id_batint(10unsigned DEFAULT NULLPRIMARY KEY (`id_conso`) FOREIGN KEY fky_conso (`id_bat`) REFERENCES jos_batnrj(id) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
    SQL =
    CREATE TABLE `jos_batnrj_conso` (
      `
    id_consoint(11NOT NULL auto_increment,
      `
    dpe09[fioul]int(10) DEFAULT NULL,
      `
    id_batint(10unsigned DEFAULT NULL,
      
    PRIMARY KEY  (`id_conso`)
      
    FOREIGN KEY fky_conso (`id_bat`) REFERENCES jos_batnrj(id)  
    ENGINE=MyISAM  DEFAULT CHARSET=utf8 
    la foreign clé n'est a priori pas bien écrite, parceque sans cette ligne l’installation se fait correctement

    merci LJ
    Dernière édition par laurent00 à 14/12/2011, 15h36
    mon avatar : http://www.ingall-niger.org

    Commentaire


    • #3
      Re : tableau de donnée dans base

      Bonjour,
      la foreign clé n'est a priori pas bien écrite, parceque sans cette ligne l’installation se fait correctement
      Le manuel SQL donne la syntaxe des FOREIGN KEYS, qui d etoute manière ne sont pas utilisées par le moteur MyISAM, mais uniquement par les moteurs transactionnels (InnoDB...)
      CREATE TABLE IF NOT EXISTS `schema`.`Employee` (
      `idEmployee` VARCHAR(45) NOT NULL ,
      `Name` VARCHAR(255) NULL ,
      `idAddresses` VARCHAR(45) NULL ,
      PRIMARY KEY (`idEmployee`) ,
      CONSTRAINT `fkEmployee_Addresses`
      FOREIGN KEY `fkEmployee_Addresses` (`idAddresses`)
      REFERENCES `schema`.`Addresses` (`idAddresses`)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION
      )
      ENGINE = InnoDB
      DEFAULT CHARACTER SET = utf8
      COLLATE = utf8_bin
      Tu as oublié de déclarer la contrainte et les triggers ON xx
      Pas de demande de support par MP.
      S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

      Commentaire


      • #4
        Re : tableau de donnée dans base

        pas mieux avec cette écriture
        Code PHP:
        CREATE TABLE `#__batnrj_conso` (
          `
        id_consoint(11NOT NULL auto_increment,
          `
        dpe09[fioul]int(10) DEFAULT NULL,
          `
        id_batint(10unsigned DEFAULT NULL,
          
        PRIMARY KEY  (`id_conso`)
          
        CONSTRAINT `fk_idbat`
          
        FOREIGN KEY `fk_idbat`(`id_bat`) REFERENCES #__batnrj(id)
          
        ON DELETE NO ACTION
          ON UPDATE NO ACTION
        ENGINE=InnoDB  DEFAULT CHARSET=utf8 
        est-ce que Innodb est configurable dans Mysql chez le fabuleux opérateur Free ...
        LJ
        mon avatar : http://www.ingall-niger.org

        Commentaire


        • #5
          Re : tableau de donnée dans base

          Il me semble bien que Free n'offre pas InnoDb, et donc pas de possibilité d'utiliser les contraintes sur les tables.
          Pas de demande de support par MP.
          S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

          Commentaire


          • #6
            Re : tableau de donnée dans base

            ai-je une autre solution pour lier mes tables ?
            LJ
            mon avatar : http://www.ingall-niger.org

            Commentaire


            • #7
              Re : tableau de donnée dans base

              par les méthodes classiques de jointures implicite sou explicites dans tes requêtes.
              Pas de demande de support par MP.
              S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

              Commentaire


              • #8
                Re : tableau de donnée dans base

                dans le composant Com_allevents j'ai pourtant vu ceci ...
                Code PHP:
                  FOREIGN KEY fky_contact (`contact_id`) REFERENCES #__contact_details(id)
                ENGINE=MyISAM DEFAULT CHARSET=utf8
                LJ
                mon avatar : http://www.ingall-niger.org

                Commentaire


                • #9
                  Re : tableau de donnée dans base

                  Documentation officielle MySQL
                  InnoDB tables support checking of foreign key constraints. See Section 13.6, “The InnoDB Storage Engine”. Note that the FOREIGN KEY syntax in InnoDB is more restrictive than the syntax presented for the CREATE TABLEstatement at the beginning of this section: The columns of the referenced table must always be explicitly named.InnoDB supports both ON DELETE and ON UPDATE actions on foreign keys. For the precise syntax, seeSection 13.6.4.4, “FOREIGN KEY Constraints”.For other storage engines, MySQL Server parses and ignores the FOREIGN KEY and REFERENCES syntax in CREATE TABLE statements. The CHECK clause is parsed but ignored by all storage engines. See Section 1.8.5.4, “Foreign Keys”.
                  MySQL accepte les foreign en syntaxe, à condition de respecter sa syntaxe complète (a commencer par la clé CONSTRAINT (qui définit le champ recevant une contrainte), mais dans ce cas, du MyISAM analysera bien le code, mais mettra la contrainte à la poubelle, silencieusement, ce moteur de stockage ne supportant pas la définition d eclés étrangères.
                  Dernière édition par jisse03 à 14/12/2011, 17h40
                  Pas de demande de support par MP.
                  S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

                  Commentaire


                  • #10
                    Re : tableau de donnée dans base

                    Quelle version serveur et client Mysql se trouvent chez Free ?

                    Attention, la syntaxe a varié très souvent (en évoluant) depuis MySQL 5.0.12.
                    Pas de demande de support par MP.
                    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

                    Commentaire


                    • #11
                      Re : tableau de donnée dans base

                      version serveur 5.0.83
                      Version du client MySQL: 5.1.35
                      Version: 3.1.5
                      mon avatar : http://www.ingall-niger.org

                      Commentaire


                      • #12
                        Re : tableau de donnée dans base

                        pour le moment j'ai mis mes données dans une seule table
                        comment alors extraire seulement une partie de ces données qui se nomment dpe_x, dpe_y, ... sous forme d'un tableau array pour les multiplier à un autre tableau dont les constantes se nomment kwh_x, kwh_y
                        merci LJ
                        mon avatar : http://www.ingall-niger.org

                        Commentaire


                        • #13
                          Re : tableau de donnée dans base

                          le plus simplement du monde, par de requête SQL classique et un simple tableau de calcul ensuite.

                          Vu le nom, de ta table et ce que tu veux faire, ça ressemble à un simple calcul DPE. Regardes par exemple le plugin DPE du composant immobilier JEA, et tu devrais y trouver au moins la base
                          Pas de demande de support par MP.
                          S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

                          Commentaire


                          • #14
                            Re : tableau de donnée dans base

                            le plugin dpe ne fait pas de calcul il se contente d'afficher une image selon une saisie
                            moi je fais tout le travail amont du calcul ... et mes données de base sont dans une table, mes params de conversion dans la table jos_component
                            mais je regarderai mieux demain ..
                            LJ
                            mon avatar : http://www.ingall-niger.org

                            Commentaire


                            • #15
                              Re : tableau de donnée dans base

                              ce que je souhaite faire
                              c'est presque çà mais sauf que le tableau $dpe vient d'une base de données et non d'une méthode post comme ici
                              Code PHP:
                                  //appel des valeurs saisies
                                  
                              $dpe JRequest::getVar('dpe', array(0), 'post''array'); 
                                  
                              $surface JRequest::getInt('surface'0'POST'); 

                                      
                              // calcul du total 
                                      
                              $total 0
                                      foreach (
                              $dpe as $key => $val) { 
                                      
                              $total += $val $this->params->get'kwh_' $key); 
                                      } 

                                      
                              // Retour du total 
                                      
                              if ($surface 0)    { 
                                          return 
                              $total $surface
                              LJ
                              mon avatar : http://www.ingall-niger.org

                              Commentaire

                              Annonce

                              Réduire
                              Aucune annonce pour le moment.

                              Partenaire de l'association

                              Réduire

                              Hébergeur Web PlanetHoster
                              Travaille ...
                              X