Probleem 1:
Op die pagina zou ik een checkbox willen plaatsen. Als ik dan op OK druk dan zou er een "0" moeten in de database geschreven worden en als het gecheckt is dan een "1". Als ik dan die pagina opnieuw bezoek zou die checkbox ook al juist moeten ingevuld zijn met de string uit de database (gecheckt bij 1).
Probleem 2:
Op een andere pagina zou ik dan moeten kijken of in de database een 1 of een nul zit (die checkbox).Zoiets:
Als het formulier gepost is controleer je of de checkbox al dan niet aangevinkt is. Met andere woorden, je controleert of $_POST['naam_van_checkbox'] bestaat.
Afhankellijk daarvan voer je een INSERT query uit die de betreffende waarde in de database weg schrijft. Als je het zelfde script wilt gebruiken voor het updaten (waar het wel op lijkt) zou ik een INSERT ... ON DUPLICATE KEY UPDATE query gebruiken. Dus iets als:
INSERT INTO tabel (id, checkbox)
VALUES (1, 0)
ON DUPLICATE KEY UPDATE checkbox = 0
Waar ik nu een 1 en 0 ingevuld hebt, kun je die natuurlijk zelf vervangen met variabelen uit je script. Dus bijvoorbeeld $_POST['id'].
Om ervoor te zorgen dat een checkbox aangevinkt is in het formulier als er een 1 in de database staat, zul je die gegevens eerst uit de database op moeten halen met een SELECT query. Vervolgens controleer je de waarde die in het veld 'checkbox' staat en afhankelijk daarvan laat je de checkbox 'checked' of niet zijn.
Ditzelfde kun je gebruiken voor je tweede probleem. Je query zou dan zoiets worden als:
SELECT id, checkbox
FROM tabel
WHERE id = 1
Ook hier kun je de 1 weer vervangen door een variabele.
<?php
//dit stukje zorgt ervoor dat de uitvoer
//OF 1 OF 0 wordt, ligt er dus aan of die
//aangevinkt is ja of nee
if (!isset($_POST['checkbox']))
{
$_POST['checkbox="0"'];
}else
{
$_POST['checkbox="1"'];
}
?>
je moet je query aanpassen en deze waardes erbij voegen.. met uiteraard
de naam van het veld die jij gebruikt voor die checkbox...
$query = "INSERT INTO tabel (checkbox1) VALUES ($_POST['checkbox']);";
hiermee maak je het stukje formulier die die checkbox weergeeft
Dat ziet er zeker bruikbaar uit, bedankt! Ik moet nu nog even wat werken voor school en dan ga ik het meteen uittesten. Ik post het wel als ik problemen heb.
Daarnaast horen integers niet tussen quotes. Het zijn integers en geen strings.
@Cedric: ja klopt, ik haal alleen iets op. Dit in de veronderstelling dat je zelf wel snapte hoe je dan kunt controleren of een opgehaalde waarde overeenkomt met een andere waarde.
Ik snap het helemaal niet met die array enzo. (ik weet wat het is, maar ik kan niet begrijpen waarom ik dit nodig heb.) Ik moet gewoon elke checkbox een value geven en in de tabel zetten. En doe ook apart kunnen aanspreken.