login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Automatschi een nieuw kolom maken in DB (Opgelost)

Offline WouterPSV - 16/07/2008 10:10 (laatste wijziging 16/07/2008 10:11)
Avatar van WouterPSVLid Ik ben bezig met een quiz te ontwerpen.

In het beheer kunnen er nieuw vragen worden gemaakt. Nu was mijn vraag hoe kan ik het zo maken dat als ik een nieuwe vraag toevoegen aan het tabel vragen dat er in de tabel gemaakte tests een kolom extra komt.

Tabel: Gemaakt tests

id
ip
name
nationality
answere_1

Zodra er een extra vraag bij komt wil ik graag dat er in het tabel answere_2 komt. En een andere vraag answere_3

Als iemand dit weet of een voorbeeld heeft hoor ik het graag.

Bedankt alvast 

13 antwoorden

Gesponsorde links
Offline kenzo - 16/07/2008 10:14
Avatar van kenzo PHP beginner kun je niet beter 2 tabellen maken

1 met vragen
1 met antwoorden

bij antwoorden ook een veld voor het id van de tabel met vragen?

Dan kun je gewoon bij antwoorden zoveel antwoorden als je wilt doen
Offline Ontani - 16/07/2008 10:16 (laatste wijziging 16/07/2008 10:17)
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
euhm... dit is niet meteen de ideale oplossing voor dit probleem.

Maak een tweede tabel:
answers
id int auto_increment not null,
parent_id int not null,
answer text null

Voeg daar voor elke vraag die je toevoegd een extra lijn bij met als parent_id de id van je test en als answer het antwoord.

Edit: Zelfde als hierboven dus, net iets uitgebreider.
Offline kenzo - 16/07/2008 10:18
Avatar van kenzo PHP beginner komt dat niet op hetzelfde neer?
Offline Ontani - 16/07/2008 10:20
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
jawel maar het is absurd om een tabel uit te breiden als je bijvoorbeeld voor 1 test 30 vragen hebt en voor een andere maar 1.
dan heb je 29 kolommen met null waardes.

+ het is niet eens zo gemakkelijk om uit te vinden hoeveel kolommen er zijn, die te doorlopen of ze wel ingevuld zijn voor die test en dan de antwoorden er uit te halen.

terwijl je dat in het andere geval gewoon doet met:
select * from answers where parent_id = 'id_van_test'
Offline WouterPSV - 16/07/2008 10:30
Avatar van WouterPSV Lid Maar ik moet toch ook ergens de antwoorden mogelijk maken.

Is één test. Met zoveel vragen als ze zelf willen. maar voor elke vraag zijn er maar 4 opties. waarvoor één goed is.

1. Vraag
- Optie 1
- Optie 2
- Optie 3
- Optie 4

zo zien alle vragen er uit. Ik moet alleen in het tabel gemaakte tests zo hebben als men een vraag toevoegd er komt een extra kolom bij. Zodat als men de test maakt ook daadwerkelijk alle antwoorden worden opgeslagen in de DB

Want volgens mij bedoelen jullie hier iets anders hierboven
Offline Ontani - 16/07/2008 10:32 (laatste wijziging 16/07/2008 10:36)
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
ik denk dat je best eens een tutorial over database design bekijkt want kolommen toevoegen in een tabel op runtime level is echt "Not done".

http://www.data.../index.htm
Offline WouterPSV - 16/07/2008 10:37
Avatar van WouterPSV Lid Zo misschien is het dan beter om de test standaard uit 15 vragen te laten bestaan en niet meer of minder ??
Offline Ontani - 16/07/2008 10:39
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
Dat zou eventueel een optie zijn om je database model er gemakkelijker op te maken maar als je ooit wilt uitbreiden ga je met hetzelfde probleem zitten.
Offline WouterPSV - 16/07/2008 10:47
Avatar van WouterPSV Lid heb je gelijk,

Het is een test voor een engelse school op malta. Als je die test maakt kun je zien of je

beginner.
middle.
advanced

Bent. dus moet gewoon een kleine indruk zijn van hoe je engels is. Maar er word verder niets mee gedaan. Het is gewoon leuk.
Offline Berten - 16/07/2008 12:34
Avatar van Berten PHP beginner maak nooit iets zo statisch

Ontanis oplossing is voor alle mogelijkheden die je kan bedenken de beste.
Offline WouterPSV - 16/07/2008 16:42
Avatar van WouterPSV Lid Ik heb na zitten denk en op zich heb ik een goede oplossing gevonden alleen nu heb ik het volgende probleem.

http://whdesign.nl/esemalta/online_test.php?ques=2

Is mijn link.

  1. $_POST['answere_1']


Nu wil ik dat de answere_1 aanpast aan de ques die in de adres balk staat.

dus bij

ques=2 word het $_POST['answere_2']
ques=3 word het $_POST['answere_3']

etc.

Weet iemand hoe dat kan?
Offline Joost - 16/07/2008 16:51
Avatar van Joost PHP expert
  1. $get = $_GET['ques'];
  2. $_POST['answere_'.$get];


Ik begrijp niet helemaal wat je nu wilt, maar zoiets?
Offline WouterPSV - 16/07/2008 17:01
Avatar van WouterPSV Lid Bedankt Mediaval,

Ik begrijp zelf wel wat ik wil dus. nogmaals bedankt.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.24s