8791 sujets

Développement web côté serveur, CMS

Bonjour à tous.

Je rencontre un problème au niveau de la construction de ma base de données. En effet, je gère des circuits touristiques dans le monde, dont la table 'circuits' reprend certaines données dont 'ID_pays' et 'ID_souspays'.

'ID_pays' est une clé étrangère de la table 'pays', jusque là tout va bien.
Mon problème se place au niveau de 'ID_souspays', qui est lié à la table 'souspays' (clé étrangère). Sauf que je n'ai pas toujours besoin d'un sous pays lors de l'insertion.

Exemple :
Pays : France / Sous pays : aucun
Pays : Italie / Sous pays : Venise

Mais du coup, quand je veux rajouter quelque chose dans ma base, il me demande forcément un sous pays.

Est-ce que quelqu'un aurait une solution me permettant de lui dire que ce n'est pas obligatoire ?
Modifié par louloute (25 Jul 2011 - 10:06)
Bonjour,
Pour passer la cardinalité de 1,1 à 1,0 il suffit juste sous phpmyadmin d'autoriser la valeur NULL.
Table -> structure -> champs -> modifier -> NULL
Yes nikel ! Il me reste plus qu'à savoir comment faire dans le backoffice du formulaire d'ajout et de modification !! Smiley lol

$sql='INSERT INTO circuits (ID_pays,ID_souspays,nom) VALUES (32,NULL,"le nom du circuit" )';
$sql='UPDATE circuits SET  ID_pays = 32, ID_souspays = NULL ,  nom = "le nom du circuit" WHERE ID_circuit = 2 ';

Modifié par Su4p (08 Jul 2011 - 14:50)