Hallo,
Ik ben bezig met een opdracht voor school waarbij ik php moet leren alleen ik kom er maar niet
uit hoe ik alleen 1 bepaalde id uit database kan verwijderen.
als ik nu iets wil verwijderen dan verwijdert die alles uit de tabel hoe kan ik dit aanpassen?
zie het script hieronder.
mvg,<?php
$query = "SELECT * FROM cat ORDER BY id";
$resultaat = mysql_query($query) or die(mysql_error());
$aantal = mysql_num_rows($resultaat);
while($rij = mysql_fetch_array($resultaat))
{
$id = $rij['id'];
$categorie = $rij['categorie'];
$leventijd = $rij['leventijd'];
$aantalleerlingen = $rij['aantalleerlingen'];
if(isset($_POST['verwijder']))
{
$sql = "DELETE FROM cat WHERE id=$id";
$result = mysql_query($sql);
echo "verwijdert";
}
echo '
<form method="POST" action="">
<table width="100%" style="border: 1px solid #5aabcf; margin: 3px 0px 3px 0px;">
<tr>
<td width="5%">'.$id.'</td>
<td width="30%">'.$categorie.'</td>
<td width="20%">'.$leventijd.'</td>
<td width="30%">Nog '.$aantalleerlingen.' vrije plaatsen</td>
<td width="15%"><input type="submit" name="verwijder" value="verwijder groep"></td>
</tr>
</table>
</form>';
}
?>
Wesley
- id van delete functie
-
26-03-2010, 14:53 #1
- Berichten
- 170
- Lid sinds
- 16 Jaar
id van delete functie
-
-
26-03-2010, 17:23 #2
- Berichten
- 21
- Lid sinds
- 15 Jaar
Hoi Wesley,
ik heb commentaar toegevoegd.
<?php
$query = "SELECT * FROM cat ORDER BY id";
$resultaat = mysql_query($query) or die(mysql_error());
$aantal = mysql_num_rows($resultaat);
// Hier loop je door alle records uit de tabel cat
while($rij = mysql_fetch_array($resultaat)) {
// Vervolgens zet je de id van de rij die je wilt verwijderen.
$id = $rij['id'];
// niet van belang voor je probleem
$categorie = $rij['categorie'];
$leventijd = $rij['leventijd'];
$aantalleerlingen = $rij['aantalleerlingen'];
// Dan kijk je of je wilt verwijderen. Kijk of 'verwijderen' is gezet.
// Dit doe je dan voor alle rijen. Als je alle rijen langs gaat
// is het logisch dat je hem verwijderd.
if(isset($_POST['verwijder']))
{
// Je verwijderd nu rij voor rij.
$sql = "DELETE FROM cat WHERE id=$id";
$result = mysql_query($sql);
echo "verwijdert";
}
// Vervolgens print je het resultaat uit.
echo '
<form method="POST" action="">
<table width="100%" style="border: 1px solid #5aabcf; margin: 3px 0px 3px 0px;">
<tr>
<td width="5%">'.$id.'</td>
<td width="30%">'.$categorie.'</td>
<td width="20%">'.$leventijd.'</td>
<td width="30%">Nog '.$aantalleerlingen.' vrije plaatsen</td>
<td width="15%"><input type="submit" name="verwijder" value="verwijder groep"></td>
</tr>
</table>
</form>';
}
?>
<?php
// EERST verwijderen
// kijk of verwijder EN id gezet zijn.
if(isset($_POST['verwijder'],$_POST['id']))
{
// LET op die (int) die zorgt ervoor dat het altijd een integer is en
// er geen sql injectie kan plaats vinden. De limit 1 is eigenlijk overbodig
// maar geen bad practise!! Deze zorgt ervoor dat mysql weet na de eerste delete dat hij
// klaar is en stopt direct.
$sql = "DELETE FROM `cat` WHERE `id` = " . (int) $_POST['id'] . " LIMIT 1";
$result = mysql_query($sql);
echo "verwijdert";
}
// Dan update ophalen.
$query = "SELECT * FROM `cat` ORDER BY `id`";
$resultaat = mysql_query($query) or die(mysql_error());
$aantal = mysql_num_rows($resultaat);
while($rij = mysql_fetch_array($resultaat)) {
$id = $rij['id'];
$categorie = $rij['categorie'];
$leventijd = $rij['leventijd'];
echo '
<form method="POST" action="">
<table width="100%" style="border: 1px solid #5aabcf; margin: 3px 0px 3px 0px;">
<tr>
<td width="5%"><input type="hidden" value="'.$id.'" name="id" />'.$id.'</td>
<td width="30%">'.$categorie.'</td>
<td width="20%">'.$leventijd.'</td>
<td width="30%">Nog '.$aantalleerlingen.' vrije plaatsen</td>
<td width="15%"><input type="submit" name="verwijder" value="verwijder groep"></td>
</tr>
</table>
</form>';
}
?>Laatst aangepast door Wim Wisselink : 26-03-2010 om 17:29
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic