Hey, ik ben druk bezig met mijn (simpele) database omdat ik net wat PHP/MySQL aan het leren ben ga ik steeds een stapje verder en dan loop je op een gegeven moment tegen een deur.
Ik wil graag dat wanneer ik mijn database in de website bekijk dat er bij elke record een checkbox staat, ik heb gezocht op "add checkboxes records php" maar geen pagina gevonden met wat ik dus zoek.
Aan die checkboxes (die gekoppeld zijn aan een id nummer) wordt een koppeling gemaakt naar een manier om die id nummers (en dus de record) uit de database te verwijderen.
en dan loop je op een gegeven moment tegen een deur.
Dat is dom! Je doet gewoo de klink naar beneden en gaat door de deur... Nee nee, bij elke waarde die je uitleest uit de DB zet je dit stukje bijvoorbeeld:
//Je moet zelf wel het formulier en dergelijke verder maken
<input type="submit" value="Verwijder" class="knop">
<?php
if (isset($_POST['verwijder']) && is_array($_POST['verwijder']))
{
mysql_query("DELETE FROM tabel WHERE id IN (" . implode(',', $_POST['verwijder']) . ")");
}
?>
//Je moet zelf wel het formulier en dergelijke verder maken
Plaatscode: 7444
"Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in C:\Program Files\EasyPHP 2.0b1\www\test\site\index.php on line 62".
Die foutmelding heeft vast te maken met de echo die er voor zit.
Abbas - 22/04/2008 14:11 (laatste wijziging 22/04/2008 14:12)
Crew .NET
Regel 8 was inderdaad verkeerd. Daar moest die 'echo' weg. Zo moet het: http://www.plaatscode.be/7445/ Vervang dan wel die $sql["id"] nog door $aBerichten of wat dat bij jou moet zijn.
Hey ja, idd. Dus die echo die hoeft niet omdat er voor al een echo stond die alles liet zien, die dubbele echo was dus overboden.
Goed, nu heb ik dus idd wat jij al tikte. Maar nu krijg ik 2 tabellen om het zo te noemen. Want ik krijg eerst 32x
"Notice: Undefined variable: sql in C: \Program Files\EasyPHP 2.0b1\www\test\site\index.php on line 62"
En daarna de juiste tabel met alle inhoud + checkboxes. Waar komt die 1e tabel vandaan?
Het heeft iets met die "value=' . $sql["$aBerichten"] . 'l" te maken, want als ik deze code weg laat krijg ik overal dus wel netjes een checkbox voor zonder verdere problemen.
Hey, de checkboxes kloppen nu mooi , nu ben ik (al)weer een tijdje bezig om dus de records daadwerkelijk te verwijderen,
Mijn verzend formulier werkt nu wel. Maar als ik dus 2 checkboxes aanvink en op verwijderen druk krijg ik deze foutmeldingen,
Notice: Undefined index: naam in C: \Program Files\EasyPHP 2.0b1\www\test\site\index.php on line 104
Notice: Undefined index: achternaam in C: \Program Files\EasyPHP 2.0b1\www\test\site\index.php on line 108
Notice: Undefined index: adres in C: \Program Files\EasyPHP 2.0b1\www\test\site\index.php on line 112
Notice: Undefined index: woonplaats in C: \Program Files\EasyPHP 2.0b1\www\test\site\index.php on line 116
Notice: Undefined index: telefoonnummer in C: \Program Files\EasyPHP 2.0b1\www\test\site\index.php on line 120
Maar ook wordt het formulier echo geactiveerd want dit staat onder de fouten.
"De volgende fouten zijn opgetreden:
Je hebt geen naam ingevuld
Je hebt geen achternaam ingevuld
Je hebt geen adres ingevuld
Je hebt geen woonplaats ingevuld
Je hebt een ongeldige telefoonnummer ingevuld
Vul de gegevens goed in en verzend het formulier opnieuw."
Als ik mijn invul formulier doe dan krijg ik niet de foutmeldingen, maar andersom dus wel. Dus dan zou het logisch zijn dat mijn verwijder knop elke "method="POST">" activeerd, in ieder geval in die richting. Is dit op te lossen door met "id=verwijder" te werken en die te koppelen?
Hier nog een keer mijn volledige code want ik kan niet vinden hoe mijn verwijder knop ook mijn verzend knop activeerd.
Dus wat ik gedaan heb is de checkboxen het id gegeven aan de checkboxen van de weergave rij.
Nu zal voor elk record een checkboxje komen met de daarbij behoorende id waarde.
Je kan nu het id aanroepen
succes
edit: ik zag net dat er al antwoorden gegeven waren...je moet zelf maar even kijken of je hier iets mee kan
//i is het laagst mogelijke id
$i = 1;
while ($i < $max) {
if (isset($_POST['id'. $i])) {
$deleten = mysql_query("DELETE FROM films WHERE id =". $i);
mysql_query("DELETE FROM films WHERE id =". $i);
}
$i ++;
}
//als het deleten is gelukt zeg: de films zijn gedelete!
if ($deleten) {
echo "De film(s) zijn succesvol gedelete!<br />Klik <a href='archief.php'>hier</a> om terug te gaan naar het archief."; }
else {
echo "Er is iets mis gegaan! Probeer het opnieuw.<br />Klik <a href='archief.php'>hier</a> om terug te gaan naar het archief.";
}
?>
//als het deleten is gelukt zeg: de films zijn gedelete!
if($deleten){
echo"De film(s) zijn succesvol gedelete!<br />Klik <a href='archief.php'>hier</a> om terug te gaan naar het archief.";}
else{
echo"Er is iets mis gegaan! Probeer het opnieuw.<br />Klik <a href='archief.php'>hier</a> om terug te gaan naar het archief.";
}
?>
Dit werkt
Kijk hier maar Probeer alles maar uit enzo Is niet erg als er iets verkloot wordt, want dit was ooit maar een test van hoe mysql een beetje werkt