Ik zit hier met het volgende probleem waar ik echt niet uitkom.
situatieschets:
Ik heb een overzicht een cursist met daaronder een aantal cursussen.
Per cursus wordt gekeken in de tabel cursus_deelname of de cursist hier wel of niet aan meedoet. Doet hij er wel aan mee, dan verschijnt er een knopje om de cursist uit te schrijven, staat hij er niet in dan een knopje om hem in te schrijven. Dat werkt allemaal goed, gezien ik de benodigde IDs meestuur in de URL.
Het probleem is nu dat het ook mogelijk moet zijn om alle cursussen in 1 keer toe te voegen of te verwijderen bij een gebruiker. Hiervoor zijn er checkboxes geplaatst voor de cursus die aangevinkt kunnen worden.
Dit staat op een form dat gesubmit wordt naar een pagina waarin de queries staan.
De queries werken op zich ook, dus dat is het probleem niet.
Waar het fout gaat is het meesturen welke cursussen aangevinkt zijn. Om het lijstje te maken gebruik ik de volgende query
Dit geeft een mooi overzicht van de Cursusnaam met het CursusID (CID). Om de gegevens in Cursus_Deelname te bewerken wordt $CID gebruikt om de cursus te identificeren.
Ik heb nu dus een UserID en CursusID die gekoppeld kunnen worden. Waar het fout gaat is als ik het met meerdere cursussen tegelijk wil doen. De gegevens worden gesubmit vanaf een form en de IDs worden meegestuurd. het UserID wordt gewoon in een hidden field gezet, dus die kan ik makkelijk te pakken krijgen. De CursusIDs kan ik daar echter niet neerzetten.
Op deze manier geef ik aan welke cursus ID is aangevinkt. In de array die gesubmit is krijg ik ook netjes te zien "[cursus2] => on ". Waar ik op vastloop is alleen hoe te controlleren welke aangevinkt zijn.
Afhankelijk van de cursussen die in de tabel zijn kan het goed zijn dat ik namelijk niet Cursus1, Cursus2 en Cursus3 heb maar (zeker na verloop van tijd als de tabel flink gemuteerd is) kan het prima Cursus4, Cursus19, Cursus37 zijn.
Een simpele check als
kan ik niet gebruiken, omdat cursus 1 dus ook cursus12 kan zijn.
Ik heb al de prefix Cursus meegegeven aan het ID zodat ik misschien wat makkelijker kan kijken of het aangevinkt is of niet, de vraag alleen, hoe kan ik dat nou het beste doen. De gegevens uit de $_POST array plukken lukt me wel, zolang de namen maar vast staan, maar nu ze dat niet doen weet ik eventjes niet waar ik moet zoeken. Iemand een idee waar ik naar moet kijken, dan kan ik weer verder met het zoeken naar een oplossing
Ik hoop dat het zo een beetje duidelijk is (ik heb de belangrijkste code gepost, maar uiteraard is die pagina nog veel langer, dus mocht ik iets vergeten zijn dat belangrijk is laat het even weten, dan vul ik het even aan).
situatieschets:
Ik heb een overzicht een cursist met daaronder een aantal cursussen.
Per cursus wordt gekeken in de tabel cursus_deelname of de cursist hier wel of niet aan meedoet. Doet hij er wel aan mee, dan verschijnt er een knopje om de cursist uit te schrijven, staat hij er niet in dan een knopje om hem in te schrijven. Dat werkt allemaal goed, gezien ik de benodigde IDs meestuur in de URL.
Het probleem is nu dat het ook mogelijk moet zijn om alle cursussen in 1 keer toe te voegen of te verwijderen bij een gebruiker. Hiervoor zijn er checkboxes geplaatst voor de cursus die aangevinkt kunnen worden.
Dit staat op een form dat gesubmit wordt naar een pagina waarin de queries staan.
De queries werken op zich ook, dus dat is het probleem niet.
Waar het fout gaat is het meesturen welke cursussen aangevinkt zijn. Om het lijstje te maken gebruik ik de volgende query
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
| $row_count = 0; $cursusqry = mysql_query ("SELECT * FROM Cursus"); while ($row2 = mysql_fetch_array ($cursusqry)) { $CID = $row2['ID']; $Cursusnaam = $row2['Cursusnaam']; // hier een overzicht dat de gegevens laat zien $row_count ++; } |
Dit geeft een mooi overzicht van de Cursusnaam met het CursusID (CID). Om de gegevens in Cursus_Deelname te bewerken wordt $CID gebruikt om de cursus te identificeren.
Ik heb nu dus een UserID en CursusID die gekoppeld kunnen worden. Waar het fout gaat is als ik het met meerdere cursussen tegelijk wil doen. De gegevens worden gesubmit vanaf een form en de IDs worden meegestuurd. het UserID wordt gewoon in een hidden field gezet, dus die kan ik makkelijk te pakken krijgen. De CursusIDs kan ik daar echter niet neerzetten.
PHP:
1
| <input type="checkbox" name="cursus<? echo $CID; ?>" /> |
Op deze manier geef ik aan welke cursus ID is aangevinkt. In de array die gesubmit is krijg ik ook netjes te zien "[cursus2] => on ". Waar ik op vastloop is alleen hoe te controlleren welke aangevinkt zijn.
Afhankelijk van de cursussen die in de tabel zijn kan het goed zijn dat ik namelijk niet Cursus1, Cursus2 en Cursus3 heb maar (zeker na verloop van tijd als de tabel flink gemuteerd is) kan het prima Cursus4, Cursus19, Cursus37 zijn.
Een simpele check als
PHP:
1
2
3
4
5
6
7
8
| if (cursus1 ="on") { echo 'aan'; } else { echo 'uit'; } |
kan ik niet gebruiken, omdat cursus 1 dus ook cursus12 kan zijn.
Ik heb al de prefix Cursus meegegeven aan het ID zodat ik misschien wat makkelijker kan kijken of het aangevinkt is of niet, de vraag alleen, hoe kan ik dat nou het beste doen. De gegevens uit de $_POST array plukken lukt me wel, zolang de namen maar vast staan, maar nu ze dat niet doen weet ik eventjes niet waar ik moet zoeken. Iemand een idee waar ik naar moet kijken, dan kan ik weer verder met het zoeken naar een oplossing
Ik hoop dat het zo een beetje duidelijk is (ik heb de belangrijkste code gepost, maar uiteraard is die pagina nog veel langer, dus mocht ik iets vergeten zijn dat belangrijk is laat het even weten, dan vul ik het even aan).