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 :

Doublon dans ma table quand j'actualise ma page [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    447
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 447
    Par défaut Doublon dans ma table quand j'actualise ma page
    Bonjour,

    je débute en base de données, j'ai créé une table vide et dans mon code j'ai créé un fichier index.php qui contient mon code sql et qui rempli ma table et dans un autre fichier (functions.php) j'ai créé un array associatif qui s'appelle $tStock et qui contient des ingrédients et qui sera appelé dans index.php pour être écris dans ma table. Mon problème est que quand j'actualise ma page le array $tStock est mis dans ma table une seconde fois ce que je ne veux pas.

    Donc je souhaitais savoir comment on fait pour que quand j'ai inséré mes données dans ma table la première fois si j'actualise sa ne me met pas une deuxième fois le array $tStock dans ma table.

    Voici mon code que j'ai simplifié :

    Fichier index.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
     
    <?php 
    include 'functions.php'; //inclusion du fichier functions.php dans l'index.php? 
    try{                                           
        $bdd=new PDO("mysql:host=localhost; dbname=test; charset=utf8", "root", "", array(PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION));
    }
    catch(Exception $e){
        die('Erreur :' .$e->getMessage());
    }
     
    $req = $bdd->prepare('INSERT INTO stockingredientmachinecafe(ingredient, quantite) 
                          VALUES (:ingredient, :quantite) ');
    foreach($tStock as $key=>$val){
        $req->execute(array('ingredient'=>$key, 'quantite'=>$val));
    }
     
    $req->closeCursor();
     
    $rep=$bdd->query('SELECT * FROM stockingredientmachinecafe')or die(print_r($bdd->errorInfo()));
     
    while($donnees = $rep->fetch())
    {
        echo $donnees['ingredient']." = ".$donnees['quantite']."<br>";
    }
     
    $rep->closeCursor();
    ?>
     
    <!DOCTYPE html>
    <html>
        <head>
            <title>Machine à café</title>
            <meta charset="utf-8" />
            <link href="styles.css" rel="stylesheet" type="text/css"/>
        </head>
     
        <body>
     
        </body>
    </html>
    Fichier functions.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php 
    $tStock=array('café'=> $cafe=5, 'chocolat' => $chocolat=5, 'thé' => $the=5, 'lait'=>$lait=5, 'sucre'=>$sugar=5, 'eau'=>$eau=15);
    ?>

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 696
    Par défaut
    D'habitude les pages qui affiche des données sont appelées avec la méthode HTTP GET et les modifications de données sont faites avec la méthode POST.
    Dans votre cas, vous pouvez mettre un bouton "Mettre les valeurs initiales" dans un formulaire envoyé en POST et dans le script d'ajout, vous testez le tableau $_POST pour vérifier que le bouton ait bien été cliqué.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    447
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 447
    Par défaut
    Merci pour ta réponse.

  4. #4

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    447
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 447
    Par défaut
    Merci pour les liens

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

Discussions similaires

  1. supprimer les doublons dans une table
    Par mavean dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 26/06/2019, 13h26
  2. Suppression de doublons dans une table partionnée
    Par ludmillaj dans le forum Oracle
    Réponses: 10
    Dernier message: 27/12/2005, 14h34
  3. Eliminer des Doublon dans une Table
    Par Soulama dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 03/02/2005, 14h27
  4. Comment éviter les doublons dans ma table
    Par einegel dans le forum Bases de données
    Réponses: 3
    Dernier message: 09/11/2004, 12h18
  5. [access]doublons dans une table en access !
    Par hackerandco dans le forum Bases de données
    Réponses: 6
    Dernier message: 14/06/2004, 14h45

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