<?php
$host = "localhost"; //Le nom du serveur de votre bas de donnée entre guillemenets.
$user = "root"; //Le nom utilisateur de votre base de donnée entre guillemets.
$passwd = ""; //Le mot de pass de votre base de donnée entre guillemets.
$con_serv = mysql_connect($host,$user,$passwd);
$con_bdd = mysql_select_db("tonymx"); //Le nom de votre base de donnée.
//création des tables et des champs.
$profil = "create table profil(
id_profil int NOT NULL auto_increment,
prenom_profil char(255),
nom_profil char(255),
email_profil char(255),
adresse_profil char(255),
mdp_profil char(255),
ddn_profil int,
presentation_profil varchar(2000),
img_profil char(255),
PRIMARY KEY(id_profil)
) TYPE = InnoDB ";
$album = "create table album(
id_album int NOT NULL auto_increment,
date_album char(255),
nom_album char(255),
PRIMARY KEY(id_album)
) TYPE = InnoDB ";
$video = "create table video(
id_video int NOT NULL auto_increment,
date_video char(255),
url_video char(255),
PRIMARY KEY(id_video)
) TYPE = InnoDB ";
$evenement = "create table evenement(
id_evenement int NOT NULL auto_increment,
date_evenement char(255),
titre_evenement char(255),
adresse_evenement char(255),
PRIMARY KEY(id_evenement)
) TYPE = InnoDB ";
$photo = "create table photo(
id_photo int NOT NULL auto_increment,
date_photo char(255),
url_photo char(255),
id_album int,
PRIMARY KEY(id_photo),
FOREIGN KEY (id_album) REFERENCES album(id_album)
) TYPE = InnoDB ";
$article = "create table article(
id_article int NOT NULL auto_increment,
date_article char(255),
titre_article char(255),
texte_article varchar(2000),
id_photo int,
FOREIGN KEY (id_photo) REFERENCES photo(id_photo),
PRIMARY KEY(id_article)
) TYPE = InnoDB ";
$commentaire = "create table commentaire(
id_commentaire int NOT NULL auto_increment,
date_commentaire char(255),
texte_commentaire char(255),
exp_commentaire varchar(2000),
id_article int,
id_video int,
PRIMARY KEY(id_commentaire),
FOREIGN KEY(id_article) REFERENCES article(id_article),
FOREIGN KEY(id_video) REFERENCES video(id_video)
) TYPE = InnoDB ";
mysql_query('DROP TABLE IF EXISTS `commentaire`, `article`, `photo`, `evenement`, `album`, `profil`, `video`') or die(mysql_error());
mysql_query($profil) or die($profil."<br>".mysql_error());
mysql_query($album) or die($album."<br>".mysql_error());
mysql_query($video) or die($video."<br>".mysql_error());
mysql_query($evenement) or die($evenement."<br>".mysql_error());
mysql_query($photo) or die($photo."<br>".mysql_error());
mysql_query($article) or die($article."<br>".mysql_error());
mysql_query($commentaire) or die($commentaire."<br>".mysql_error());
?>
A noter :
* tu avais oublié la clé primaire de
evenement
* pour créer une contrainte de clé étrangère il faut créer le champ équivalent dans ta table
* à quoi te sert ici de créer des contraintes de clés étrangères puisque tu n'appliques aucune contrainte (ON DELETE / ON UPDATE) ? cf.
Contraintes de clés étrangères FOREIGN KEY. Si tu le gères côté PHP elles sont inutiles (<edit>enfin pas complètement puisque cela t'empêche de créer un enregistrement avec une valeur de clé étrangère inexistante dans la table de référence mais du coup cela fait planter la requête et ce n'est pas forcément la meilleure façon de gérer cela.</edit>).
Modifié par Heyoan (12 Jul 2010 - 12:08)