Checkboxen in database plaatsen en uitlezen
Toch maar een 2e threat om hopelijk verder te kunnen komen. Ik kan helaas de eerste niet verwijderen. De treat is BIJNA identiek.
Ik wil een lijst met checkboxen opslaan in mijn database maar kom er ondanks eerdere hulp niet uit.
Ik geef de lijst op de volgende manier weer:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
//Query starten
$query3 = mysql_query("SELECT * FROM checklist_software");
//Geef het resultaat van de array en loop elke rij!
while ($row3 = mysql_fetch_array($query3)){
?>
$query3 = mysql_query("SELECT * FROM checklist_software");
//Geef het resultaat van de array en loop elke rij!
while ($row3 = mysql_fetch_array($query3)){
?>
<tr>
<td><input type="checkbox" name="checkboxnaam" value="check"> </td>
<td></td>
<td></td>
<td></td>
</tr>
De lijst zal naar schatting 50 tot 75 resultaten geven. Dus handmatig alle velden bij de INSERT query lijkt me niet handig.
Wat word nu mijn update query?
Onderstaand mij DB structuur:
- checklist_software: ID,naam,categorie
- checklist_installatie_details: installatienummer, ID, check
- checklist_installatie: installatienummer (en wat overige volgens hiervoor niet relevante velden.
Mocht iemand een idee hebben over een andere indeling/structuur van deze tabellen hoor ik het graag. Ik ben hier tenslot om te leren :)
Bedankt allemaal alvast voor de moeite.
Gewijzigd op 05/10/2012 15:47:29 door T T
Ik begrijp er niks van.
Je moet van checkboxnaam een array maken, oftewel name="checkboxnaam[]" en die kan je gebruiken in php met foreach : $_POST['checkboxnaam']
Jaron T op 05/10/2012 16:37:33:
Je moet van checkboxnaam een array maken, oftewel name="checkboxnaam[]" en die kan je gebruiken in php met foreach : $_POST['checkboxnaam']
Oke, tot zover zie ik nu waar ik het moet zoeken. Ik heb de naam aangepast naar de name="checkboxnaam[] en heb naar de foreach gekeken. Maar hoe ik de checkbox nu "linken" aan het Software_ID? Dit heb ik namelijk nodig om een query te schrijven die alles insert. Hier laten mijn PHP boeken me inde steek of ik snap er geen bal van ;-)
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
' ...
<input type="checkbox" name="checkboxnaam[]" value="' . $row3['ID'] . '">
...
';
?>
' ...
<input type="checkbox" name="checkboxnaam[]" value="' . $row3['ID'] . '">
...
';
?>
Dus, wat gebeurt er?
De gebruiker verzendt het formulier.
Dan krijg jij op de server de variabele
$_POST['checkboxnaam']
// bv => $_POST['checkboxnaam'] = array(5, 12, 14, 17)
De waarden die je in de array vindt zijn enkel de id's van de checkboxes die door de gebruiker zijn gecheckt.
De id's van de boxes die niet gecheckt zijn, worden dus niet naar de server gestuurd en komen niet in de array.
Dat maakt het dus gemakkelijk om in een foreach te steken.
Gewijzigd op 05/10/2012 18:07:01 door Kris Peeters