Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/03/2007, 21h44   #1
Invité de passage
 
Inscription : mars 2007
Messages : 1
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 1
Points : 0
Points : 0
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.
agendre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2007, 11h33   #2
Membre chevronné
 
Avatar de grabriel
 
Inscription : septembre 2006
Messages : 935
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 935
Points : 626
Points : 626
Salut,

Citation:
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!!
grabriel est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h07.


 
 
 
 
Partenaires

Hébergement Web