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 :

base de donnée ne ce rempli pas corectement


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Femme Profil pro
    en formation
    Inscrit en
    Septembre 2019
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : en formation

    Informations forums :
    Inscription : Septembre 2019
    Messages : 90
    Par défaut base de donnée ne ce rempli pas corectement
    Bonjour.
    Je me trouve devant un souci d'insertion d'élément dans ma base de données Sql.
    Le fichier create_datbase.php créer ma base "devoir" et mes deux tables "écoles et sports".
    le fichier generator.php quant à lui doit renseigner ces deux bases.
    ça ce passe nickel pour "écoles" mais pour sports rien ne semble s'enregistrer.
    Y a-t-il quelqu'un qui sache me donner une solution ?

    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
    create_database.php
    <?php
            $servername = '127.0.0.1';
            $username = 'root';
            $password = '';
            $dbname = 'devoir';
            $table1='ecoles';
            $table2='sports';
     
          // connexion à la base de donnée
                $dbco = new PDO("mysql:host=$servername", $username, $password);
                $dbco->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                //si les tables ecoles et sports existe sortir si non creer 
     
     
                //creaton de la base devoir
                try{
         $sql = "CREATE DATABASE devoir";
        $dbco->exec($sql);   
        //cree les tables et les colonnes
        $dbco = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);//connecxion à la table devoir
        $dbco->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $sql1="CREATE TABLE $table2 ( `id` INT(11) NOT NULL AUTO_INCREMENT , `ecole` VARCHAR(11) NULL , `boxe` INT(11) NULL , `football` INT(11) NULL , `judo` INT(11) NULL , `natation` INT(11) NULL , `cyclisme` INT(11) NULL , PRIMARY KEY (`id`)) ENGINE = InnoDB CHARSET=utf8 COLLATE utf8_general_ci";
        $dbco->exec($sql1);
        $sql2="CREATE TABLE $table1 ( `id` INT(11) NOT NULL AUTO_INCREMENT , `ecole` VARCHAR(11) NULL , `nb_eleves` INT(11) NULL , `nb_sport` INT(11) NULL , `licences` INT(11) NULL , PRIMARY KEY (`id`)) ENGINE = InnoDB CHARSET=utf8 COLLATE utf8_general_ci;";
        $dbco->exec($sql2);
        $sql3="INSERT INTO `ecoles`(`ecole`) VALUES ('ecole_A'),('ecole_B'),('ecole_C')";
        $dbco->exec($sql3);
        ?>  <button class="btn-Générer"onclick="window.location.href='../index.php'">lancer le programe</button>  <?php
     
    }
    catch (PDOException $e){
     
        ?>  <button class="btn-Générer"onclick="window.location.href='../index.php'">lancer le programe</button>  <?php
     
    }
    ?>
    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
    generator.php
    <?php
    $result=1;
     
    while ($result <=3) {
     $nb_eleves= mt_rand(1, 500);
     $nb_sportif= mt_rand(1, $nb_eleves);
     $nb_sportifs=$nb_sportif;
     
        $licences="0";
        while ($nb_sportif >=0 ){    
            $nb_sport= mt_rand(1, 3);// choix du nombre de sport  
            $licences=($nb_sport + $licences);// on donne un nombre de licences par sportif
            $nb_sportif --;                       
        }
     
        $dbh = new PDO ('mysql:host=localhost;dbname=devoir', 'root', '');
        $dbh->query("UPDATE ecoles SET nb_eleves='$nb_eleves',nb_sport='$nb_sportifs',licences='$licences' WHERE id='$result'");
        $result++;
     
    } 
     
     
        //creation des 5 valeurs dans la base de données sport ( a partir de $distribution)
        $id=1;
        while ($id <=3) {
            $dbh = new PDO ('mysql:host=localhost;dbname=devoir', 'root', '');
            $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);                    
            $sth = $dbh->prepare("SELECT  licences FROM ecoles WHERE id=$id");
            $sth->execute();
     
            //tableau de tableau
            $distrib = $sth->fetchAll(PDO::FETCH_ASSOC);
            foreach($distrib as $delivery){
            $distribution=$delivery['licences'];            
            $boxe=mt_rand(0, $distribution);
            $cyclisme=mt_rand(0, ($distribution - $boxe));
            $judo=mt_rand(0, ($distribution - ($cyclisme + $boxe)));
            $football=mt_rand(0, ($distribution - ($cyclisme+$boxe+$judo)));
            $natation=($distribution - ($cyclisme+$boxe+$judo+$football));
            echo "<br>";
    echo("boxe") . PHP_EOL; echo($boxe);
    echo "<br>";
    echo("cyclisme") . PHP_EOL; echo($cyclisme);
    echo "<br>";
    echo("judo") . PHP_EOL; echo($judo);
    echo "<br>";
    echo("football") . PHP_EOL; echo($football);
    echo "<br>";
    echo("natation") . PHP_EOL; echo($natation);
     
    $dbh->query("UPDATE sports SET boxe='$boxe', football='$football', judo='$judo', natation='$natation', cyclisme='$cyclisme' WHERE id='$id'");
     
            $id++;
     
     
            }
        }
     
    ?>
    Mille merci à celui qui voudra m'aider.

  2. #2
    Membre très actif
    Homme Profil pro
    Déveleoppeur Web/Mobile
    Inscrit en
    Avril 2013
    Messages
    330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Déveleoppeur Web/Mobile
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 330
    Par défaut
    Bonjour tu peux vérifier si ta fonction exec renvoie 0, ce qui veut dire que la requête n'a rien pu modifier.
    Il y a des fonctions pour afficher les erreurs SQL
    Pour cela tu as la fonction de la librairie PDO , la fonction errorInfo te permet d'afficher la dernière erreur sql affichée, à utiliser donc après chacun de tes exec.

  3. #3
    Membre confirmé
    Femme Profil pro
    en formation
    Inscrit en
    Septembre 2019
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : en formation

    Informations forums :
    Inscription : Septembre 2019
    Messages : 90
    Par défaut probleme resolu
    Bonjour J'ai trouvé la panne il à fallait juste que je renseigne les id de la table sports.

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

Discussions similaires

  1. php - base de données qui n'est pas remplie
    Par miramar dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 13/09/2017, 10h05
  2. la base de données 'model' n'est pas valide
    Par Msysteme dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 13/12/2012, 11h07
  3. base de donnée paradox 7 marche pas sur les autres PC
    Par 21247692 dans le forum Bases de données
    Réponses: 6
    Dernier message: 04/03/2009, 10h02
  4. [MySQL] Comment accéder avec php à une base de données ne se trouvant pas sur le même domaine
    Par Alexandrebox dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 25/02/2008, 18h16
  5. Ma base de données Oracle ne démarre pas.
    Par hery233 dans le forum Oracle
    Réponses: 4
    Dernier message: 20/11/2006, 14h46

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