Examen 2016-2017
Programmation Web

Soit la base de données "BDD" accessible via l'adresse FTP @adresse avec le nom d'utilisateur "U" et le mot de passe "PW" et contenant les tables suivantes :

Table1

Ch11 Ch12 Ch13 Ch14
1000 Chaine11 Chaine13 24
2000 Chaine12 Chaine14 36

Table2

Ch21 Ch22 Ch23 Ch24
100 1000 100000 26
200 1000 110000 28
300 2000 250000 34
100 2000 240000 35
200 2000 260000 42

Table3

Ch31 Ch32 Ch33
100 Chaine15 400000
200 Chaine16 150000
300 Chaine17 350000

Table4

Ch41 Ch42 Ch43
100 55 Chaine13
200 56 Chaine14
300 57 Chaine13
100 56 Chaine14

Partie 1 ( 7 points):

Donner le script PHP qui permet :

Partie 2 ( 6 points):

Soit la partie d'un script PHP suivante :
<?php
...
$req = "Select `Ch11`, `Ch12`, `Ch32`, `Ch33`
            From `Table3`, `Table2`, `Table1`
            Where `Ch31` = `Ch21` and `Ch11` = `Ch22` and `Ch33` >= '3' * `Ch23` ";

$res= mysql_query ( $req );
while ( $i = mysql_fetch_row ( $res ) ) {
    $x= $i [ 0 ];  $y= $i [ 1 ]; $z= $i [ 2 ];  $w= $i [ 3 ];
    echo "$x $y $z $w <br>"; }
...
?>

a. Donner les résultats affichés dans le navigateur aprés l'exécution de cette partie du script.

b. Même question avec la requête suivante :
    $req = "Select `Ch41`, `Ch32`, `Ch12`, `Ch33`
                From `Table3`, `Table2`, `Table1`, `Table4`
               Where `Ch31` = `Ch21` and `Ch11` = `Ch22` and `Ch41` = `Ch21` and `Ch13` =`Ch43` ";

c. Même question avec la requête suivante :
    $req = "Select `Ch21`, `Ch32`, `Ch33`, sum(`Ch23`) * '0.5'
                From `Table3`, `Table2`, `Table1`
               Where `Ch31` = `Ch21` and `Ch11` = `Ch22`
               Group by `Ch31`
               Having sum(`Ch23`) > (`Ch33` * '0.5') and count(`Ch11`) >= 2";

d. Même question avec la requête suivante :
    $req = "Select `Ch11`, `Ch12`, `Ch13`, `Ch32`
                From `Table3`, `Table2`, `Table1`, `Table4`
               Where `Ch31` = `Ch21` and `Ch11` = `Ch22` and `Ch41` = `Ch21` and `Ch13` =`Ch43`
               Group by `Ch11`
               Having sum(`Ch24`) <= (sum(`Ch14`) * '2') and sum(`Ch23`) < '0.5' * avg(`Ch33`)";

Partie 3 ( 7 points):

On veut ajouter la table Table5 à la base de données BDD contenant les enregistrements ci-dessous :

Ch41 Ch32 Ch43
100 Chaine15 Chaine14
300 Chaine17 Chaine13

Donner le script PHP qui permet de réaliser cette tâche en vous aidant d'une requête appropriée.

Solution