Notre magasin

Rue Albert 1er, 7

6810 Pin - Chiny

(/fax: 061/32.00.15

Formation PHP

FORMATIONS

Le MAGASIN YBET

PRODUITS et SERVICES

Formations informatiques privées

Activités et présentation

Logiciels de gestion

Formation Word

Rayon d'action  

Caisses enregistreuses TEC
Access - Excel   MATERIEL INFORMATIQUE
YBET informatique Forum Création de site Créer son site Internet Vente informatique en ligne

14.10. Créer une table dans une base de donnée MySQL avec PHP

1 Introduction - 2. Syntaxe - 3. Exemple de création - 4. Supression d'une table

Dans les 2 chapitres précédents, nous avons créé une base de donnée MYSQL en local et commencer à apprendre les commandes MySQL. Cette partie va nous permettre de créer de manière automatique une base de donnée. Ces commandes sont nécessaires pour une installation automatique, mais aussi parce que tous les hébergeurs Internet n'autorise pas une gestion complète de la base de donnée par une interface propre.

La base de donnée MySQL doit être préalablement créée de manière manuelle sur votre hébergement qui vous donnera les renseignements nécessaires: nom du serveur, le login et le mot de passe d'accès. A la création, cette base de données est vide. Vous pouvez utiliser une seule base de donnée pour des applications différentes le cas échéant, à condition de ne pas insérer 2 tables sous le même nom. Cette solution est à utiliser pour la majorité des hébergements qui n'autorisent qu'une seule base de donnée, même si cette solution ralentit le traitement.

2. Syntaxe

La commande SQL associée est CREATE TABLE [IF NOT EXIST] nom_table (definition-colonne, Index)

Si une table du même nom existe dans la base de donnée, un message d'erreur est renvoyé. Si vous utilisez la commande optionnelle IF NOT EXIST, non seulement il n'y a pas de message d'erreur, mais la table n'est pas non plus créée.

la partie définition-colonne reprend:

  • nom-colonne type [NOT NULL ou NUL] [DEFAULT valeur-par-defaut)
  • [AUTO_INCREMENT]
  • [PRIMARY KEY]

Dans Index, on retrouve

  • Primary Key (index_nom-colonne)
  • INDEX [Nom-index] (index-nom-colonne, ...)
  • UNIQUE [INDEX] (index-nom-colonne, ...)

Ces notions ont déjà été vues dans le chapitre "créer une base de donnée en local"

3. Exemple de création

Nous allons créer une table dans notre base de donnée YBET dont le nom est CONTENU. Voici la liste des champs à insérer:

  types de variable primary-key, Index remarque Instruction SQL
code numérique, integer Primary-key auto incrémentation code int primary key NOT NULL auto_increment
titre VARCHAR(120)   titre de l'annonce limitée à 120 caractères, insensible à la casse titre varchar(120) not null
description TEXT   texte limité à 65535 caractères description blob not null
photo varchar(255)   adresse et nom de la photo, 255 caractères photo varchar(255)
Ville VARCHAR(40) index caractère limité à 40 caractères ville varchar(40), index(ville)
Pays type enum   choix entre Belgique, France, Luxembourg pays enum('Belgique','France','Luxembourg')
prix decimal(10,2)   décimal avec 2 chiffres derrière la virgule prix decimal(8,2) not null
dateinsertion date   date courte dateinsertion date
telephone varchar(15)     telephone varchar(15)
mail varchar(30)     mail varchar(30)

Nous pourrons éventuellement créer des champs supplémentaires ou modifier les attributs des champs par la suite. Dans notre version locale sous EasyPhp, le serveur est localhost, le login est root, sans mot de passe.

<?php

if(!mysql_connect('localhost','root')){

Echo'Connection Impossible';

exit();

} else{

    Echo'Connexion réussie';

}

Mysql_select_db('ybet');

// cette partie ouvre la base de donnée

$requete="CREATE TABLE if not exists contenu (code int primary key NOT NULL auto_increment,titre varchar(120) not null,description TEXT not null,photo varchar(255), ville varchar(40),pays enum('Belgique','France','Luxembourg'),prix decimal(8,2) not null,dateinsertion date,telephone varchar(15),mail varchar(30),index(ville))";

$erreur=mysql_query($requete);

$erreur1=mysql_error();

print($erreur."<br>");

print($erreur1);

mysql_close();

?>

L'ensemble des commandes ont déjà étés vues dans les chapitres précédents. La difficulté est de créer la requête SQL. Chaque champ est séparé par une virgule.

Dans le cas de l'index, il peut être inséré juste derrière le champs ou à la fin de la requête: Index(ville(10)) indexe seulement sur les 10 premiers caractères du champ ville.

4. Suppression d'une table

 Vous pouvez supprimer une table dans une base de donnée existante par la commande SQL: DROP table [if exists] nom_table (, nom_table1, ...)

Par exemple, pour supprimer la table contenu ci-dessus, utilisez les lignes de commandes PHP

<?php

 if(!mysql_connect('localhost','root')){

  Echo'Connection Impossible';

 exit();

 } else{

    Echo'Connexion réussie';

}

Mysql_select_db('ybet');

 // cette partie ouvre la base de donnée

 $requete="DROP table if exists contenu";

 $valeur=mysql_query($requete);

 $erreur1=mysql_error();

 print($valeur."<br>");

 print($erreur1); 

 mysql_close();

?>

Il vous reste à copier les codes ci-dessus dans le dossier www de Easyphp et d'exécuter les différentes requêtes pour essayer ces commandes et les adapter à votre propre utilisation. Remarquez que ces commandes sont automatiquement exécutées par le programme d'installation lorsque vous installez un forum, un portal, un livre d'or, site de vente en ligne, ... sous licence GPL. Les commandes DROP sont également utilisables dans la console MYPHPADMIN de votre hébergement Internet.

Créer son site Internet

Quelques remarques préliminaires concernant l'hébergement, le langage de programmation

Référencement d'un site

Comment référencer un site Internet, Meta, balises, ...

Introduction au langage HTML

Une introduction à la programmation en HTML

Votre compta?

Ciel compta Premium ou Evolution, la solution préférée des PME

YBET informatique

Formations Privées en informatiques
B-6810 Pin - Chiny

Création et référencement Internet
Formation
: apprenez à créer et référencer votre propre site Internet

  • Module 1 (Débuter en création de site, HTML): 19 et 26 avril, 3 ,10 et 17 mai.
  • Module 2 (Débuts en PHP, MySQL: première partie): 17, 24 et 31 mai, 7, 14 et 21 juin.

Ces modules sont accessibles également à distance. Elles se dérouleront les lundi soirs de 19 à 22 heures.

La formation en ligne PHP - MySQL
1. Le langage Php
2. Installer et utiliser easyphp
3. Première commande PHP
4. Fonctions en PHP
5. Gestion des tableaux avec PHP
6. Fonctions sur les variables
7. Formulaires Mail
8. Base de donnée MySQL avec easyphp
9. Première application de Mysql
10. Gestion des tables par des commandes PHP
10.a Exercice: formulaire de contact, envoi par mail, sauvegarde dans une base de donnée MySQL
11. Mise en page PHP - HTM: include() - require()
12. Commandes PHP de création automatique de table MySQL
13. Formulaire et vérification des données
14. Insertion des nouveaux membres
15. Gestion des catégories
16. Liste de choix déroulante
17. Modification des tables MySQL
18. Enregistrer un fichier via un formulaire
19. Formulaire d'insertion
20. Affichage des annonces
21. Filtrage des annonces, interdire certaines annonces suivant le contenu.
23. Exercice: gérer des news
24. Utilisation des Cookies, vérifier l'accès
25. Gestion fichiers et Dossiers (source et FTP)
26. Cryptage et décryptage de mots de passe
27. Base relationnelle, méthodes Left et Join.
Divers
Référencement Internet, positionnez votre site sur Google, MSN, Yahoo, ... Formation en ligne
Cours FrontPage, créer son site en HTML

<9 . Gérer une base de donnée MySQL

10.a > Exercice: un formulaire de contact

YBET Informatique: formation débutant ou avancé

dans notre salle de formation ou en entreprise

Renseignements, tarifs et inscriptions sur notre page formations informatiques

Magasin Informatique YBET à Chiny