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

PostgreSQL Discussion :

Problème d'update de base de donnée


Sujet :

PostgreSQL

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Mars 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Problème d'update de base de donnée
    Bonjour j'ai ce problème pour une base de donnée SQL créé par l'intermédiaire du PHP, il s'agit d'une bdd toute simple avec des livres des auteurs et des lecteurs et je voudrais rajouter des auteurs des livres dans ma bdd seulement j'ai du insérer la destruction de la base a chaque démarre de la page pour éviter qu'elle se multiplie ainsi je n'arrive pas a insérer des nouveaux éléments Voici le code de ma première page merci de m'aider. :

    -----------------------------------------------------------------------------
    <html>
    <head>
    <title>Bibliotheque GENDRE CORPORATION</title>
    </head>
    <BODY BGCOLOR="yellow">
    </BODY>
    <body>
    <h1><br><center>BIBLIOTHEQUE GENDRE CORPORATION</center></h1>

    <center><a href="livresdb.php">Base de donnée</a>
    <a href="interrogation.php">Recherche</a></center>

    <?php
    echo "<center>";
    # -------- Connection à la base ------------
    if (strpos(getenv('OS'),'Win')!==FALSE) //WINDOWS
    $cnnx = pg_connect ("host=localhost port=5432 dbname=postgres user=postgres password=postgres");
    else //LINUX
    $cnnx = pg_connect("host=127.0.0.1 dbname=mabase user=agendre");

    if (! $cnnx) {
    echo "<br>";
    echo " La connexion à la base de donnée à échoué<br>" . "\n" ;
    } else {
    echo "La connexion à la base de donnée a reussi<br>" . "\n" ;
    }

    # -------- Detection des erreurs -----------
    ini_set('display_startup_errors', "1") ;
    ini_set('log_errors', "1") ; ini_set('error_log', 'php_errors.log') ;
    error_reporting(E_ALL) ;


    # -------- Destruction des tables ----------
    function drop_table($tab) { pg_query("DROP TABLE $tab") ; }
    drop_table ('livre');
    drop_table ('auteur');
    drop_table ('lecteur');


    #--- LECTEUR ---
    pg_query(<<<EOQ
    CREATE TABLE lecteur (
    idnum SERIAL PRIMARY KEY,
    nom VARCHAR(50) NOT NULL)
    EOQ
    );

    function new_lecteur ($l)
    {
    pg_query("INSERT INTO lecteur(nom) VALUES ('$l')") ;
    }
    new_lecteur('Jean Dupon');
    new_lecteur('Pierre Charles');
    new_lecteur('Bill Gates');
    new_lecteur('Adrien Gendre');

    $resultat = pg_query("SELECT * FROM lecteur") ;

    echo "<br><H3> Table Lecteur </H3>\n" ;
    echo '<table border="1" cellspacing="1"> <tr>' ;
    echo '<td><b>idNum</b></td><td> <b><center>Nom</center></b> </td><tr>' . "\n" ;

    $ligne = pg_fetch_array($resultat);

    while($ligne) {

    echo "<tr><td>$ligne[idnum]</td> <td>$ligne[nom]</td></tr>\n" ;
    $ligne = pg_fetch_array($resultat) ;
    }
    echo '</table>' ;


    #--- Auteur ---
    pg_query(<<<EOQ
    CREATE TABLE auteur (
    idnum SERIAL PRIMARY KEY,
    nom VARCHAR(50) NOT NULL,
    nationalite VARCHAR(50) NOT NULL )
    EOQ
    );

    function new_auteur($n,$na)
    {
    pg_query("INSERT INTO auteur(nom,nationalite) VALUES ('$n','$na')") ;
    }

    new_auteur('Shakespeare','Anglais');
    new_auteur('Victor Hugo','Francais');
    new_auteur('Carmen Electra','Americain');
    new_auteur('Mary Higgins Clark','Anglais');
    new_auteur('Maupassant','Francais');
    new_auteur('Stephen King','Anglais');
    new_auteur('Voltaire','Francais');


    $resultat = pg_query("SELECT * FROM auteur") ;

    echo "<br><H3> Table Auteur </H3>\n" ;
    echo '<table border="1" cellspacing="1"> <tr>' ;
    echo '<td><b>idNum</b></td><td> <b><center>Nom</center></b> </td> <td> <b>Nationalite</b> </td> <tr>' . "\n" ;

    $ligne = pg_fetch_array($resultat);

    while($ligne) {

    echo "<tr><td>$ligne[idnum]</td> <td>$ligne[nom]</td><td><center>$ligne[nationalite]</center></td></tr>\n" ;
    $ligne = pg_fetch_array($resultat) ;
    }
    echo '</table>' ;


    #--- Livre ---
    pg_query(<<<EOQ

    CREATE TABLE livre (
    idnum SERIAL PRIMARY KEY,
    titre VARCHAR(50) NOT NULL,
    date_sortie INTEGER,
    idaut INTEGER REFERENCES auteur(idnum) NOT NULL,
    idlect INTEGER REFERENCES lecteur(idnum) NOT NULL
    )
    EOQ
    );


    function new_livre($t,$d,$a,$l)
    {
    pg_query("INSERT INTO livre(titre,date_sortie,idaut,idlect) VALUES ('$t',$d,$a,$l)") ;
    }

    new_livre('Le regime californien',2002,5,1);
    new_livre('Pur kama sutra ',2006,2,2);
    new_livre('Cuisine attitude',1995,3,4);
    new_livre('Frere de sang',2004,1,3);
    new_livre('Jeux de dupes',1998,7,2);
    new_livre('Le boeux de varsovie ',2005,7,1);
    new_livre('Le sacre de charlemagne',800,2,3);
    new_livre('Une relation dangereuse',2010,6,4);
    new_livre("L\' engrenage",2004,4,2);
    new_livre("Dans la rue ou vit celle que j\'aime",2003,4,2);
    new_livre('Tatiana',2006,1,2);
    new_livre ('Les larmes de marie antoinette',1898,3,3);
    new_livre('Ou es-tu?',1999,1,2);
    new_livre('Je te cherche encore',2007,1,3);
    new_livre("Elle s\'appelait sarah",2000,4,4);


    $resultat = pg_query("SELECT * FROM livre") ;

    echo "<br><H3> Table Livre </H3>\n" ;
    echo '<table border="1" cellspacing="1"> <tr>' ;
    echo '<td><b>idNum</b></td><td> <b><center>Titre</center></b> </td> <td> <b>Date de sortie</b> </td><td><b>Auteur</b></td><td><b>Dernier lecteur</b> <tr>' . "\n" ;

    $ligne = pg_fetch_array($resultat);

    while($ligne) {

    $aut = $ligne['idaut'];
    $affaut = pg_query("SELECT nom FROM auteur WHERE idnum = '$aut'");
    $affauteur = pg_fetch_array($affaut);

    $lec = $ligne['idlect'];
    $afflecteur = pg_query("SELECT nom FROM lecteur WHERE idnum = '$lec'");
    $afflect = pg_fetch_array($afflecteur);

    echo "<tr><td>$ligne[idnum]</td> <td>$ligne[titre]</td><td><center>$ligne[date_sortie]</center></td><td>$affauteur[nom]</td><td>$afflect[nom]</td></tr>\n" ;
    $ligne = pg_fetch_array($resultat) ;
    }
    echo '</table>' ;



    echo "</center>";
    echo'<br>';
    echo '<hr>';
    echo "<center>Ajout d'un livre</center>";
    echo'<br>';

    //Début du formulaire
    echo '<FORM ACTION=livresdb.php method=GET>';
    echo "Nom de l'auteur: <INPUT type=TEXT name='nom'> ";
    echo '<FORM ACTION=livresdb.php method=GET>';
    echo "Nationalite de l'auteur: <INPUT type=TEXT name='nationalite'> ";
    echo '<INPUT TYPE=SUBMIT name=Envoyer value=Envoyer>';

    if (isset($_GET['nom'])){
    $nom = $_GET['nom'];
    $nationalite = $_GET['nationalite'];
    pg_query("INSERT INTO auteur(nom,nationalite) VALUES ('$nom','$nationalite')");
    }
    ?>
    </center>
    </body>
    </html>
    --------------------------------------------------------------------------
    En espérant d'avoir une réponse rapide merci à ceux qui auront essayé de m'aider.

  2. #2
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Points : 730
    Points
    730
    Par défaut
    Salut,

    je voudrais rajouter des auteurs des livres dans ma bdd seulement j'ai du insérer la destruction de la base a chaque démarre de la page pour éviter qu'elle se multiplie ainsi je n'arrive pas a insérer des nouveaux éléments
    Soit j'ai mal compris soit tu fais n'importe quoi, ta base de donnée tu la crée une fois pour toute.
    Utilise phpPgAdmin pour administrer ta base, i.e. créer la base attribuer les droits et créer les tables. Une fois que tu as créer les tables tu n'as plus à y toucher. Si tu fais des pages en php ca sera seulement pour insérer de nouvelles données, supprimer, modifier ou afficher les données existantes.

    Bon courage!!

Discussions similaires

  1. [ODBC] [DB2] Problème de connexion à une base de données sur un as400 via PHP sous Linux
    Par boo64 dans le forum PHP & Base de données
    Réponses: 16
    Dernier message: 19/04/2006, 09h51
  2. [ACCESS] - Problème d'ouverture de base de données...
    Par fredhali2000 dans le forum Access
    Réponses: 21
    Dernier message: 21/02/2006, 10h10
  3. [MySQL] Un problème d'appel de base de donnée!
    Par dp33 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 05/02/2006, 21h54
  4. [phpMyAdmin] problème pour exporter ma base de données
    Par Chezbebsi dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 04/12/2005, 11h58
  5. Problème de sauvegarde de bases de données
    Par Gwipi dans le forum Administration
    Réponses: 2
    Dernier message: 09/09/2005, 08h30

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