- [[initiation]]
====== Création de base sous phpMyAdmin ======
===== Base Maison =====
Le premier exercice n'implique pas de PHP, juste de la prise en main de phpMyAdmin.
Allez dans phpMyAdmin et créez une table comme celle de l'[[amphi03]], un site présentant des maisons, un peu comme [[http://www.maisonsdaujourdhui.fr/]] et [[http://www.maisons-pierre.com/]]
Pensez à mettre id en premier, c'est un INT UNSIGNED, Primary et Auto_Increment. Pour le reste, utilisez le cours ^_^
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
===== Base des couleurs =====
==== Créer et remplir la base ====
Créer une base de données nommée **nuancier** et une table nommée **couleurs** telle que
CREATE TABLE IF NOT EXISTS `couleurs` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`nom` varchar(100) NOT NULL,
`image` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
Téléchargez ce fichier {{http://freelancis.net/~gaspard/iim/php/rouges_a_levres.zip}}, il ya un fichier texte, servez-vous en pour renseignez la base de données en cliquant sur "Insert" dans phpmyadmin.
* Pour l'id, ne mettez rien, c'est en auto-increment, ça se remplira tout seul
* Le code couleur hexadécimal (du type FFB38D) ne vous sert à rien pour l'instant, ignorez le.
==== interfacez sur PHP ====
=== structure des fichiers===
Créez ensuite un dossier exo_ral qui contient un dossier images
Placez les images dans le dossier éponyme et créez un fichier index.php qui listera les différentes valeurs stockées dans la base.
=== liste des couleurs===
Dans le fichier index.php placez ce code (en changeant les mots de passe, etc).
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if(!$link) {
die('Not connected : ' . mysql_error());
}
$db_selected = mysql_select_db('nuancier', $link);
if(!$db_selected) {
die('base inaccessible : ' . mysql_error());
}
$sql = 'SELECT * FROM couleurs WHERE 1';
$result = mysql_query($sql);
if(!$result){
die('erreur dans la requete : ' . mysql_error());
}
while($row = mysql_fetch_array($result, MYSQL_ASSOC)){
echo $row["id"].': '.$row["nom"]. '
';
}
Le code ci-dessus affiche la liste des noms des couleurs que vous avez renseigné plus haut.
Avec ce code, faites-le évoluer pour afficher les noms des couleurs ainsi que les images. Rappel : pour afficher une image en html, c'est
=== listes et pages ===
Une fois que vous avez cette page qui contient la liste de vos images, agencez-la avec goût, pensez à mettre les images en petit, c'est votre page de liste.
En cliquant sur une image, on doit pouvoir accéder à une page présentant cette image en grand. Pour ce faire, créez une page couleur.php et les pages index.php fera des liens vers couleur.php?id=XX. Rappel, les liens en HTML, ça se fait ainsi
Rouge Safran
Le code source de la page couleur.php est très similaire à celui de index.php, la différence majeure est que la requête est désormais
$sql = 'SELECT * FROM couleurs WHERE id='.$_GET['id'];
$result = mysql_query($sql);