probleem met onbekende hoeveelheid textboxen in een formulier

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Joon Lostrie

Joon Lostrie

20/06/2010 14:57:46
Quote Anchor link
Hallo

Ik ben bezig met een miniprojectje rond een P2P-systeem waarin studenten elkaar kan beoordelen over hun groepwerk of dat ze goed hebben gewerkt of niet goed gewerkt hebben.

Ik heb al een schets gemaakt van de P2P-formulier waarin een student kan invullen. Die P2P-systeem bevat dus de naam van de studenten aan de linkerkant en de criteria's aan de bovenkant. Het is ook mogelijk dat je met minder of meerdere studenten in een groep zit en dat je minder of meerdere criteria's heb. Dit heb ik gemaakt aan de hand met de while-lus en gegevens uit de databank.

Nu is mijn groot probleem, hoe moet ik op één of andere manier de punten in een nieuwe tabel inserten. Bedoeling is dat het één voor één word geinsert in de databank. En hoe moet ik dit controleren op "if(!empty($_POST[...])"?

Ik heb 2 afbeeldingen gezet:
Afbeelding
Dit geef aan dat je een formulier kan hebben met 3 criteria's en 4 namen

Afbeelding
Dit geeft aan dat je een formulier kan hebbne met 4 criteria's en 4 namen


Mocht het niet duidelijk zijn, vraag het maar.
 
PHP hulp

PHP hulp

28/11/2024 17:34:30
 
Wim E

Wim E

20/06/2010 16:50:09
Quote Anchor link
Worden die opties zoals gedrag enzo ook uit de DB gehaald?
Anders zou ik iets verwachten dat je een tabel hebt met optie_id, cijfer en een student_id.

Zou je verder evt nog kunnen uitleggen hoe je dat bedoeld?:)
 
Mark L

Mark L

20/06/2010 17:02:37
Quote Anchor link
Het duurde lang voordat ik je vraag begreep.

Ik heb geen idee hoe je de textboxen genoemd hebt. Maar ikzelf zou waarschijnlijk hier met arrays werken. De textboxen zou ik de naam geven: comment[id]. id is hierin het id van de persoon waarmee je samenwerkt.
Zo heb je dan bijvoorbeeld Jan (id: 10), Piet (id: 234) en Klaas (id 421) in je project. Dan krijg je dus drie textarea's:
comment[10], comment[234], comment[421]. Als deze gepost worden naar de server krijg je zoiets: $_POST = array('comment' => array(10 => 'text over Jan', 234 => 'text over Piet', 421 => 'text over Klaas'))

Nu kun je dus de comment heel makkelijk uitlezen. Je weet over welke persoon & hoeveel. Gewoon een loopje gebruiken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
if (isset($_POST['comment']) && is_array($_POST['comment'])) {
foreach ($_POST['comment'] as $id => $text) {
// verwerken..
}
}

?>


Hoop dat ik je vraag hiermee heb beantwoord.
 
Joon Lostrie

Joon Lostrie

21/06/2010 07:15:51
Quote Anchor link
Straks is proberen. Bedankt voor de tips en hopelijk lukt het

Wim Eikelboom op 20/06/2010 16:50:09:
Worden die opties zoals gedrag enzo ook uit de DB gehaald?
Anders zou ik iets verwachten dat je een tabel hebt met optie_id, cijfer en een student_id.

Zou je verder evt nog kunnen uitleggen hoe je dat bedoeld?:)


Tabel is al gelukt. Zoiets heb ik ook gedaan

Afbeelding

Misschien is het duidelijkere met het foto die ik heb gemaakt.

EDIT: ik heb mijn 3 berichtjes in 1 bericht toegevoegd
Gewijzigd op 21/06/2010 11:38:33 door Joon Lostrie
 
Joon Lostrie

Joon Lostrie

21/06/2010 07:16:55
Quote Anchor link
mag verwijderd worden door een moderator
Gewijzigd op 21/06/2010 11:39:13 door Joon Lostrie
 
Joon Lostrie

Joon Lostrie

21/06/2010 09:12:41
Quote Anchor link
mag verwijderd worden door een moderator
Gewijzigd op 21/06/2010 11:39:30 door Joon Lostrie
 
Joon Lostrie

Joon Lostrie

21/06/2010 10:31:10
Quote Anchor link
mag verwijderd worden door een moderator
Gewijzigd op 21/06/2010 11:39:45 door Joon Lostrie
 
Mark L

Mark L

21/06/2010 11:18:29
Quote Anchor link
Ten eerste kan ik je vertellen dat het totaal niet gewaardeerd word op dit forum om 2 berichten binnen 24 uur onder elkaar te plaatsen (dat noemt men bumpen). Laat staan 4 keer!

Ik moet eerlijk zeggen dat ik niet begrijp wat je nou wilt. Wil je je vraag opnieuw formuleren, met voorbeelden en technieken die je toepast?

Zoals ik het nu zie gaat alle informatie in één DB rij. Hierdoor beïnvloed je informatie, waardoor dit niet meer terug te halen (enkel het resultaat, maar niet wat er in ingevoerd). Als dit het geval is raad ik je dit sterk af. je kunt beter een tabel met alle waarden, die weer gekoppeld is aan een overkoepelende tabel 'groep'. Ik ben me ervan bewust dat dit vaag klinkt en geformuleerd is, maar ik weet ook niet of dit antwoord is op je vraag, omdat ik je vraag nog niet begrijp.

m.v.g.,
Mark
 
Joon Lostrie

Joon Lostrie

21/06/2010 11:37:26
Quote Anchor link
Hiervoor mijn excuses dat ik misschien te veel heb gepost. Zal meer het "EDIT-knop" gebruiken.

Ik zal het nog is proberen uit te leggen wat de bedoeling is. Je ziet helemaal vanboven een soort tabel met de studenten verticaal en de criteria's horizontaal. In het midden zie je tekstvakjes. Daar moeten studenten punten geven aan die student over die criteria. Die punten moeten ergens bewaard worden in de databank.

Ook de commentaar moet bewaard worden maar ga dit in een andere tabel steken. Dit ga ik proberen uit te werken aan de hand die jij in de bovenstaande berichtje hebt gepost.

Ik hoop dat het nu wat duidelijk is.
 
Mark L

Mark L

21/06/2010 12:00:05
Quote Anchor link
Oké, maar is jouw vraag nu hoe je dit in een database zet, of wat is de vraag. Ik snap namelijk wel wat je doet, maar ik weet niet wat je weten wilt. Volgens mij is jouw vraag toch niet database-georiënteerd, maar met 'wat doe ik in PHP'.

Quote:
Nu is mijn groot probleem, hoe moet ik op één of andere manier de punten in een nieuwe tabel inserten. Bedoeling is dat het één voor één word geinsert in de databank. En hoe moet ik dit controleren op "if(!empty($_POST[...])"?


Via een loop kun je hiermee aan de slag. Binnen elke loop kun je controleren of de $_POST-var niet empty is.

Verder heb ik toch echt meer info nodig.
 
Joon Lostrie

Joon Lostrie

21/06/2010 12:45:10
Quote Anchor link
mijn vraag is inderdaad: wat meot ik doen in PHP om die gegevens in een databank te krijgen.

Wat voor meer informatie heb je eigenlijk nodig? Moet ik mijn PHP-code naar jou mailen of pm'en?

Ik wil het echt proberen om het zo goed mogelijk te vertellen maar vind het moeilijk om te vertellen.

Ik ga is proberen via een for-lus en met isset die u al vanboven heeft gepost.
 
Mark L

Mark L

21/06/2010 14:54:37
Quote Anchor link
Maar dan werkt de code over de $_POST['comment'] toch ook op de andere variabelen? Dat kun je op precies dezelfde manier doen.
 
Joon Lostrie

Joon Lostrie

21/06/2010 14:59:55
Quote Anchor link
ah ok, 'k zal het is proberen. Mocht het lukken, geef ik een seintje. Alvast bedankt é Mark :)

EDIT: goed nieuws, het is gelukt. Met uw eerste tip heeft het mij geholpen, alvast bedankt!
Gewijzigd op 23/06/2010 14:20:30 door Joon Lostrie
 
Joon Lostrie

Joon Lostrie

23/06/2010 14:22:57
Quote Anchor link
Mark, het is opgelost en het werkt. Bedankt voor je tip en de hulp ;)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.