L'entreprise de ventes de figurines de super-héros GARVEL a monté un partenariat avec les deux sites de ventes en ligne makemoney.com et dobusiness.com. Chaque entreprise lui demande de mettre à disposition respectivement un fichier CSV et un fichier XML pour le transfert du catalogue, stocké dans une base de données PostgreSQL.
Le code devra être exécuté et testé.
Superman;15
Batman;12
Superchild;12
...
<catalogue>
<figurine designation='Superman' prix='1555'/>
<figurine designation='Batman' prix='12'/>
<figurine designation='Superchild' prix='12'/>
...
</catalogue>
Créer la base de données correspondant à ce modèle.
Créer une vue vfigurine
permettant de retourner les champs designation
et prix
.
Créer un utilisateur customer
permettant de lire la vue figurine.
CREATE TABLE Personnage (
designation VARCHAR PRIMARY KEY,
prix DECIMAL NOT NULL,
identite VARCHAR,
genre VARCHAR(12) CHECK (genre='superhéros' OR genre='supervillain')
);
INSERT INTO Personnage (designation, prix) VALUES ('Superman',15);
INSERT INTO Personnage (designation, prix) VALUES ('Batman',12);
INSERT INTO Personnage (designation, prix) VALUES ('Superchild',12);
CREATE VIEW vfigurine AS
SELECT designation, prix FROM Personnage;
CREATE USER customer WITH ENCRYPTED PASSWORD 'public';
GRANT SELECT ON vfigurine TO customer;
Réaliser un script PHP csv.php permettant de se connecter à la base PosgreSQL et d'afficher la désignation et le prix au format CSV, en suivant l'exemple ci-après.
<?php
/** Connexion **/
$connexion = new PDO('pgsql:host=localhost;port=5432;dbname=garvel', 'customer', 'public');
/** Préparation et exécution de la requête **/
$sql = "SELECT designation, prix FROM vfigurine";
$resultset = $connexion->prepare($sql);
$resultset->execute();
/** Traitement du résultat **/
while ($row = $resultset->fetch(PDO::FETCH_ASSOC)) {
echo $row['designation'] . ";" . $row['prix'] . "\n";
}
/** Déconnexion **/
$connexion=null;
?>
Réaliser un script PHP permettant de se connecter à la base et d'afficher la désignation et le prix selon un schéma XML, en suivant l'exemple ci-après.
<?php
/** Connexion **/
$connexion = new PDO('pgsql:host=localhost;port=5432;dbname=garvel', 'customer', 'public');
/** Préparation et exécution de la requête **/
$sql = "SELECT designation, prix FROM vfigurine";
$resultset = $connexion->prepare($sql);
$resultset->execute();
/** Traitement du résultat **/
echo "<catalogue>";
while ($row = $resultset->fetch(PDO::FETCH_ASSOC)) {
echo "<figurine designation='" . $row['designation'] . "' prix='" . $row['prix'] . "'/>";
}
echo "</catalogue>";
/** Déconnexion **/
$connexion=null;
?>