Hallo, ik ben bezig met een gastenboek. Maar ik wil nu ook een admin mode maken waarbij je tabellen kan verwijderen. Ik heb al een script gemaakt waar je al de tabellen kan zien. Maar nu wil ik dat als je op een knop drukt (die achter de tabel staat waar al de waardes staan, zoals id, naam, bericht.) dat hij ook DIE tabel verwijderd. En ik wil het ook hetzelfde met edit.
Wie kan mijn helpen?
DELETE en UPDATE bij velden,
of wil je echt tabellen verwijderen? Want bij een gastenboek is het normaal dat je velden verwijdert ipv hele tabellen....
Ik wil 1 regel verwijderen, die met een bepaald id....
DELETE FROM tabelnaam WHERE id='" . $_GET['id'] . "'";
<center>De gegevens in Gastenboek:</center>
<?
$query = "SELECT * FROM gastenboek ORDER BY id DESC"; $res = mysql_query($query);
if ($row = mysql_fetch_array($res))
{
echo "<table border=1 align=center><tr><td>Id:</td><td>Naam:</td><td>Bericht:</td></tr>";
do {
echo "<tr><td>" . $row['id'];
echo "</td><td width=100px align=right><TEXTAREA NAME=naam ROWS=2 COLS=15 align=center>
" . $row['naam'];
echo "</TEXTAREA></td><td width=500px><pre><TEXTAREA NAME=bericht ROWS=2 COLS=50 algin=center>" . smilie(nl2br($row['bericht']));
echo "</TEXTAREA></pre></td><td>";
echo "<input type=submit name=edit_submit value=Edit></tr>";
} while ($row = @mysql_fetch_array($res));
echo "</table>";
}

Echo "<br><br><table border=1 align=center><tr><td><center>Verwijder</center></td></tr>";
?>
<form action="<?= $_SERVER['PHP_SELF'] ?>" method="POST">
<tr><td>Nummer<input type="text" name="id_verwijder" SIZE="2" maxlength="3"> moet verwijderd worden.</td></tr>
<tr><td><input type=submit name=verwijder_submit value=Verwijder></td></tr>
</form></table>

<?

if($_POST['verwijder_submit'])
{
$sql1 = "DELETE FROM gastenboek WHERE id='$_POST[id_verwijder]'";
mysql_query($sql1);
echo "<center>Het commentaar is verwijderd!<br>";
echo "<a href=\"admin.php\">Vernieuw het scherm</a></center>";
}


?>
Dit zijn de gegevens die ik heb staan, maar ik wil juist dat ik niet het nummer moet intypen welke ik iwl verwijderen, dat hij dat autotisch doet... maar hoe?
Dan moet je de berichten een id geven en een linkje maken naar de pagina waar ze gedelete worden. Dan krijg je een link in je bericht als ?id=344

En in de pagina doe je dan de code om te verwijderen met, zoals ik al zei, $_GET['id']

edit:
Een linkje maken met die id is vrij simpel. Je moet gewoon de id uit de database als link weergeven.
<A href=\"verwijder_id.php?id=$id\">verwijder</A>
Hoe bedoel je snap je niet? (ben niet zo goed ni php, ben een beginnerling
<A href=\"verwijder_id.php?id=$row['id']\">verwijder</A> in je gastenboek toevoegen (naast naam of zo).

verwijder_id.php wordt dan zo:

<?php

// aangenomen dat je verbinding hebt met db

$sql = "DELETE FROM berichten WHERE id='" . $_GET['id'] . "'"; // evt. tabelnaam veranderen
$res = mysql_query($sql) or die ("FOUT: " mysql_error());

if($res) {
print "Verwijderd!";
}else{
print "Er ging iets fout!";
}
?>
Eh ik heb de regel:
<A href=\"verwijder_id.php?id=$row['id']\">verwijder</A>
ingevoerd, mar krijg nu een error:
T_STRING' or `T_VARIABLE' or `T_NUM_STRING'
Probeer dan eens <A href=\"verwijder_id.php?id=" . $row['id'] . "\">verwijder bericht</A>

Kan ook zijn dat je beetje met de aanhalingstekens moet klieren, bv ' weglaten bij $row[id]
Hij doet het niet, hij geeft: er ging iets fout...

Kweet niet wat ik gedaan heb...
<center>De gegevens in Gastenboek:</center>
<?
$query = "SELECT * FROM gastenboek ORDER BY id DESC"; $res = mysql_query($query);
if ($row = mysql_fetch_array($res))
{
echo "<table border=1 align=center><tr><td>Id:</td><td>Naam:</td><td>Bericht:</td></tr>";
do {
echo "<tr><td>" . $row['id'];
echo "</td><td width=100px align=right>" . $row['naam'];
echo "</td><td width=500px><pre>" . smilie(nl2br($row['bericht']));
echo "</pre></td><td>";
echo "<A href=verwijder_id.php?id=$row[id]>verwijder</a></tr>";
} while ($row = @mysql_fetch_array($res));
echo "</table>";
}

Echo "<br><br><table border=1 align=center><tr><td><center>Verwijder</center></td></tr>";
?>
<form action="<?= $_SERVER['PHP_SELF'] ?>" method="POST">
<tr><td>Nummer<input type="text" name="id_verwijder" SIZE="2" maxlength="3"> moet verwijderd worden.</td></tr>
<tr><td><input type=submit name=verwijder_submit value=Verwijder></td></tr>
</form></table>

<?

if($_POST['verwijder_submit'])
{
$sql1 = "DELETE FROM gastenboek WHERE id='$_POST[id_verwijder]'";
mysql_query($sql1);
echo "<center>Het commentaar is verwijderd!<br>";
echo "<a href=\"admin.php\">Vernieuw het scherm</a></center>";
}


?>

en in verwijder_id.php:
<?php

// aangenomen dat je verbinding hebt met db

$sql = "DELETE FROM gastenboek WHERE id='" . $_GET['id'] . "'"; // evt. tabelnaam veranderen
$res = mysql_query($sql);

if($res) {
print "Verwijderd!";
}else{
print "Er ging iets fout!";
}
?>

Reageren