2009-09-30 5 views
0

J'ai un projet qui me rend confus. Je crée une page de vente de voiture de seconde main pour un scellant. J'ai des pages d'affichage et d'édition. Dans les pages d'édition, l'utilisateur va insérer un enregistrement de voiture de vente ou modifier un enregistrement existant. Je veux dire une telle table:Comment obtenir des données de plusieurs tables appartenant à des champs contenant des cases à cocher?

RecordID CARNAME Model Year KM  PRICE 

(Cette partie est ok, facile, mais les détails de la voiture sera montré et modifié avec des cases à cocher et dispose également doit être modifiable)),

(Checkbox1) Airbag (Checkbox2) Sunroof (Checkbox 3) Xenon lamb etc. 

Je pense Je dois créer les tables suivantes: Voitures, marques, modèles, fonctionnalités (inclut les cases à cocher) ... Mais comment vais-je obtenir des données à partir des fonctionnalités; comment vais-je savoir quel chèque est coché ou non et comment saurai-je quelle voiture a quelles caractéristiques?

Répondre

1

Qu'est-ce que vous avez besoin est un tableau qui répertorie les caractéristiques indexés par un entier:

CARACTÉRISTIQUES:

featurecode feature 
1    airbag 
2    sunroof 
3    headlights 
..... 

Ensuite, vous avez un tableau qui répertorie les caractéristiques par RECORDID avec RecordID comme une clé étrangère:

RecordIDFeatures:

RecordID  Featurecode 
23032  1 
23032  2 
23034  3 
........ 

Puis obtenir des fonctionnalités par voiture vous:

selectt f.feature, s.car from features f, salesCarRecord s,RecordIDFeatures r where (r.recordid = s.recordid) and (r.featurecode = f.featurecode) 
1

Vous avez besoin d'une table Features puis un Features_Carjunction table

Features Table 
-------------- 

FeatureId | Name 
---------------- 
1   | Sunroof 
2   | Air Conditioning 
3   | Power Steering 

Features_Car Table 
-------------- 

FeatureId | RecordId 
---------------- 
1   | 1 
2   | 1 
3   | 1 
1   | 2 
2   | 2 
1   | 3 
3   | 3 

Mise à jour en fonction des cases à cocher dans l'interface utilisateur sera simple, juste INSERT ou DELETE valeurs de la table de jonction à base sur lesquelles les cases à cocher sont cochées ou non, respectivement

+0

Je pense que les deux réponses sont identiques et vraies, merci mes amis ... –

Questions connexes