![]() |
[PHP]arrays
Ik heb een probleempje met een pagina in PHP...
Voor school moet ik een overhoorsysteem maken die na de toets een cijfer berekent en de foute vragen weergeeft. Op zich is dit wel te doen, alleen heb ik het probleem dat ik vastloop bij het beantwoorden van de vragen. De vragen worden gesteld via een while-loop met sql-condition, dus kom ik in de problemen met de antwoorden. De enige manier die ik kan verzinnen om de antwoorden allemaal op te slaan is dmv een array, maar ik heb dan 2 probleempjes. 1. Ik weet niet hoe ik de key van de array moet laten oplopen met 1 na het beantwoorden van een vraag. Als ik dit niet doe dan overschrijft hij steeds de eerste value in de array...en dat schiet dus niet op.. 2. Ik krijg het niet voor elkaar om de antwoorden achter elkaar in een array te zetten. Als ik vraag 1 beantwoord dan krijg ik mooi die waarde 'Array ([1] => 1)' te zien, maar als ik dan vraag 2 beantwoord dan krijg ik 'Array ([2] => 2)' te zien..(ik laat de array zien via print_r($array)..en $array bevat dan de POST-data.) Ik submit deze waardes via 2 tabellen via radiobuttons....als ik in 1 tabel 2 buttons verschillende 'names' geef (name="arraynaam[1]" en name="arraynaam[2]") aan de buttons dan zet hij ze wel achter elkaar...maar ik krijg het niet voor elkaar om zo'n array laat maar zeggen 'aan te vullen' met waardes... Als ik op Google zoek krijg ik wel steeds te zien hoe je een array maakt...maar daar vul je meteen alle waardes tegelijk in...en dat kan in mijn geval niet... Kan iemand mij hiermee helpen? ps. Ik heb voor het 2e probleem een apart script gemaakt met 2 tabellen, zodat ik kon kloten met de arrays, voordat ik ze in de site zelf wou proppen...het is uiteindelijk de bedoeling om in op de site ervoor te zorgen dat elke keer dat ik een antwoord submit (je kan kiezen uit 3 antwoorden) dat hij dan die waarde (1,2 of 3, afhankelijk van het antwoord) in de array zet, en bij de volgende submit de key met 1 ophoogt en die waarde achter de vorige te zetten.. |
Je hebt per pagina een aparte vraag of op 1 pagina?
|
Citaat:
|
Als je alles op aparte pagina's wil hebben moet je waarschijnlijk je array in een sessie hangen. Je zou ook een bestandje kunnen maken, je array serialize()n, opslaan in het bestandje, later weer unserialize()n om een antwoord toe te voegen. Waarschijnlijk is het een stuk makkelijker om gewoon alle vragen op een pagina te zetten. :) Eventueel zou je iets kunnen prutten met JavaScript dat er maar een vraag tegelijk zichtbaar is...
|
als het makkelijker is om alle vragen op 1 page te zetten, dan doe ik dat wel...maar hoe zet ik al die antwoorden dan in een array?
Ik neem aan dat ik elke vraag moet submitten... Iets wat ik vergeten te zeggen was in mn beginpost: de vragen en antwoorden worden random uit de database gehaald en ook het aantal vragen is in te stellen door de user.... |
En als je nu al je antwoorden opslaat in de database?
Je neemt een tabel voor je vragen, eentje voor je leerlingen en een voor je antwoorden. Je zorgt dat iedere vraag en leerling een id mee krijgen. In de tabel antwoorden zet je dan bijvoorbeeld als record, vraag->1 leerling->1 antwoord->A En zo dan voor iedere vraag een record. Zo kun je makkelijk opvragen welke leerling voor welke vraag welk antwoord heeft ingevuld. |
Citaat:
Al lijkt het me makkelijker met arrays... |
Citaat:
Ik zou het probleem zo oplossen, maar er zullen vast nog wel meer en wellicht betere oplossingen zijn. ;) |
Alle tijden zijn GMT +1. Het is nu 08:00. |
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.