Avatar billede kennedk Nybegynder
13. september 2005 - 22:35 Der er 22 kommentarer og
1 løsning

mysql DELETE funktion

Det her er et simpelt spørgsmål for dem der ved det !:D
hvad skal man skrive hvis man kun vil slette en bestemt række i sin database. lad os sige det skal være den der her id = 1.
håber der kommer svar hurtigt :)
Avatar billede Slettet bruger
13. september 2005 - 22:38 #1
DELETE FROM tabel WHERE id=1
Avatar billede Slettet bruger
13. september 2005 - 22:39 #2
og det er selvfølgelig en mysql_querY("DELETE FROM tabel WHERE id=1")
Avatar billede kennedk Nybegynder
13. september 2005 - 22:42 #3
nu kommer min kode, der er en felj, men kan satme ikke finde den :

<html><head><title>Admin</title></head>
<body>
<?
include "connect.php";

if ($_GET['admin'] == "reset"){
mysql_query("DELETE FROM gb") or die(mysql_error());}
?>
<a href="<? PHP_SELF; ?>?admin=reset">reset GB</a><hr><br><br>
<?

$svar = mysql_query("SELECT * FROM gb ORDER BY id DESC") or die(mysql_error());


while ($row = mysql_fetch_array($svar))
{
$id = $row['id'];
echo "<table border=0 width=\"600\" bordercolor=\"#000000\" bordercolorlight=\"#000000\" bordercolordark=\"#000000\" bgcolor=\"#FFFFFF\" cellspacing=\"0\" cellpadding=\"0\">";
echo "<tr><td width=\"10%\"><table border=\"1\" bordercolorlight=\"#c0c0c0\" cellspacing=\"0\" cellpadding=\"0\" bordercolordark=\"#c0c0c0\" bordercolor=\"#c0c0c0\"><tr><td>Navn:</td></tr></table></td><td width=\"90%\">";
echo "<table border=\"1\" bordercolorlight=\"#c0c0c0\" cellspacing=\"0\" cellpadding=\"0\" bordercolordark=\"#c0c0c0\" bordercolor=\"#c0c0c0\">";
echo "<tr><td>&nbsp;";
echo $row["navn"];
echo "&nbsp;</td></tr>";
echo "</table>";
echo "</td><td><a href=\"admin.php?id=" . $row["id"] . "\">slet</a></td></tr>";
echo "<tr><td width=\"10\"><table border=\"1\" bordercolorlight=\"#c0c0c0\" cellspacing=\"0\" cellpadding=\"0\" bordercolordark=\"#c0c0c0\" bordercolor=\"#c0c0c0\"><tr><td>Besked:</td></tr></table></td><td width=\"90%\">";
echo "<table border=\"1\" bordercolorlight=\"#c0c0c0\" cellspacing=\"0\" cellpadding=\"0\" bordercolordark=\"#c0c0c0\" bordercolor=\"#c0c0c0\">";
echo "<tr><td>";
echo nl2br($row["tekst"]);
echo "&nbsp;</td></tr>";
echo "</table>";
echo "</td></tr>";
echo "</table>";
echo "<hr size=\"1\" width=\"600\" align=\"left\" color=\"#C0C0C0\" noshade>";
if ($_GET['id'] == "$row['id']") {
mysql_query("DELETE FROM gb WHERE id='$id'") or die (mysql_error()); }
}


?>
</body>
</html>
Avatar billede kennedk Nybegynder
13. september 2005 - 22:43 #4
den skriver at den er i linie 35.
Avatar billede yezbarh Nybegynder
13. september 2005 - 22:46 #5
<html><head><title>Admin</title></head>
<body>
<?
include "connect.php";

if ($_GET['admin'] == "reset"){
mysql_query("DELETE FROM gb") or die(mysql_error());}
?>
<a href="<? PHP_SELF; ?>?admin=reset">reset GB</a><hr><br><br>
<?

$svar = mysql_query("SELECT * FROM gb ORDER BY id DESC") or die(mysql_error());


while ($row = mysql_fetch_array($svar))
{
$id = $row['id'];
echo "<table border=0 width=\"600\" bordercolor=\"#000000\" bordercolorlight=\"#000000\" bordercolordark=\"#000000\" bgcolor=\"#FFFFFF\" cellspacing=\"0\" cellpadding=\"0\">";
echo "<tr><td width=\"10%\"><table border=\"1\" bordercolorlight=\"#c0c0c0\" cellspacing=\"0\" cellpadding=\"0\" bordercolordark=\"#c0c0c0\" bordercolor=\"#c0c0c0\"><tr><td>Navn:</td></tr></table></td><td width=\"90%\">";
echo "<table border=\"1\" bordercolorlight=\"#c0c0c0\" cellspacing=\"0\" cellpadding=\"0\" bordercolordark=\"#c0c0c0\" bordercolor=\"#c0c0c0\">";
echo "<tr><td>&nbsp;";
echo $row["navn"];
echo "&nbsp;</td></tr>";
echo "</table>";
echo "</td><td><a href=\"admin.php?slet=ok&id=".$row[id]."\">slet</a></td></tr>";
echo "<tr><td width=\"10\"><table border=\"1\" bordercolorlight=\"#c0c0c0\" cellspacing=\"0\" cellpadding=\"0\" bordercolordark=\"#c0c0c0\" bordercolor=\"#c0c0c0\"><tr><td>Besked:</td></tr></table></td><td width=\"90%\">";
echo "<table border=\"1\" bordercolorlight=\"#c0c0c0\" cellspacing=\"0\" cellpadding=\"0\" bordercolordark=\"#c0c0c0\" bordercolor=\"#c0c0c0\">";
echo "<tr><td>";
echo nl2br($row["tekst"]);
echo "&nbsp;</td></tr>";
echo "</table>";
echo "</td></tr>";
echo "</table>";
echo "<hr size=\"1\" width=\"600\" align=\"left\" color=\"#C0C0C0\" noshade>";
if ($_GET[slet] == "ok") {
mysql_query("DELETE FROM gb WHERE id='$id'") or die (mysql_error()); }
}


?>
</body>
</html>
Avatar billede kennedk Nybegynder
13. september 2005 - 22:47 #6
nu kan den jo ikke slette den besked.:S
Avatar billede yezbarh Nybegynder
13. september 2005 - 22:48 #7
Hvad mener du? Hos mig virker det fint.
Avatar billede arne_v Ekspert
13. september 2005 - 22:50 #8
jeg tror der mangler en

$id = $_GET['id'];
Avatar billede yezbarh Nybegynder
13. september 2005 - 22:51 #9
Hov ups.
<html><head><title>Admin</title></head>
<body>
<?
include "connect.php";

if ($_GET['admin'] == "reset"){
mysql_query("DELETE FROM gb") or die(mysql_error());}
?>
<a href="<? PHP_SELF; ?>?admin=reset">reset GB</a><hr><br><br>
<?

$svar = mysql_query("SELECT * FROM gb ORDER BY id DESC") or die(mysql_error());


while ($row = mysql_fetch_array($svar))
{
$id = $row['id'];
echo "<table border=0 width=\"600\" bordercolor=\"#000000\" bordercolorlight=\"#000000\" bordercolordark=\"#000000\" bgcolor=\"#FFFFFF\" cellspacing=\"0\" cellpadding=\"0\">";
echo "<tr><td width=\"10%\"><table border=\"1\" bordercolorlight=\"#c0c0c0\" cellspacing=\"0\" cellpadding=\"0\" bordercolordark=\"#c0c0c0\" bordercolor=\"#c0c0c0\"><tr><td>Navn:</td></tr></table></td><td width=\"90%\">";
echo "<table border=\"1\" bordercolorlight=\"#c0c0c0\" cellspacing=\"0\" cellpadding=\"0\" bordercolordark=\"#c0c0c0\" bordercolor=\"#c0c0c0\">";
echo "<tr><td>&nbsp;";
echo $row["navn"];
echo "&nbsp;</td></tr>";
echo "</table>";
echo "</td><td><a href=\"admin.php?slet=ok&id=".$row[id]."\">slet</a></td></tr>";
echo "<tr><td width=\"10\"><table border=\"1\" bordercolorlight=\"#c0c0c0\" cellspacing=\"0\" cellpadding=\"0\" bordercolordark=\"#c0c0c0\" bordercolor=\"#c0c0c0\"><tr><td>Besked:</td></tr></table></td><td width=\"90%\">";
echo "<table border=\"1\" bordercolorlight=\"#c0c0c0\" cellspacing=\"0\" cellpadding=\"0\" bordercolordark=\"#c0c0c0\" bordercolor=\"#c0c0c0\">";
echo "<tr><td>";
echo nl2br($row["tekst"]);
echo "&nbsp;</td></tr>";
echo "</table>";
echo "</td></tr>";
echo "</table>";
echo "<hr size=\"1\" width=\"600\" align=\"left\" color=\"#C0C0C0\" noshade>";
if ($_GET[slet] == "ok") {
mysql_query("DELETE FROM gb WHERE id='$_GET[id]'") or die (mysql_error()); }
}


?>
</body>
</html>
Avatar billede arne_v Ekspert
13. september 2005 - 22:51 #10
du behøver iøvrigt ikke have en query og en while - du kan bare fyre en enkelt
DELETE af
Avatar billede Slettet bruger
13. september 2005 - 22:54 #11
<html><head><title>Admin</title></head>
<body>
<?
include "connect.php";

if ($_GET['admin'] == "reset"){
mysql_query("DELETE FROM gb") or die(mysql_error());}
?>
<a href="<? PHP_SELF; ?>?admin=reset">reset GB</a><hr><br><br>
<?

$svar = mysql_query("SELECT * FROM gb ORDER BY id DESC") or die(mysql_error());

$row = mysql_fetch_array($svar);

$id = $row['id'];
echo "<table border=0 width=\"600\" bordercolor=\"#000000\" bordercolorlight=\"#000000\" bordercolordark=\"#000000\" bgcolor=\"#FFFFFF\" cellspacing=\"0\" cellpadding=\"0\">";
echo "<tr><td width=\"10%\"><table border=\"1\" bordercolorlight=\"#c0c0c0\" cellspacing=\"0\" cellpadding=\"0\" bordercolordark=\"#c0c0c0\" bordercolor=\"#c0c0c0\"><tr><td>Navn:</td></tr></table></td><td width=\"90%\">";
echo "<table border=\"1\" bordercolorlight=\"#c0c0c0\" cellspacing=\"0\" cellpadding=\"0\" bordercolordark=\"#c0c0c0\" bordercolor=\"#c0c0c0\">";
echo "<tr><td>&nbsp;";
echo $row["navn"];
echo "&nbsp;</td></tr>";
echo "</table>";
echo "</td><td><a href=\"admin.php?slet=ok&id=".$row[id]."\">slet</a></td></tr>";
echo "<tr><td width=\"10\"><table border=\"1\" bordercolorlight=\"#c0c0c0\" cellspacing=\"0\" cellpadding=\"0\" bordercolordark=\"#c0c0c0\" bordercolor=\"#c0c0c0\"><tr><td>Besked:</td></tr></table></td><td width=\"90%\">";
echo "<table border=\"1\" bordercolorlight=\"#c0c0c0\" cellspacing=\"0\" cellpadding=\"0\" bordercolordark=\"#c0c0c0\" bordercolor=\"#c0c0c0\">";
echo "<tr><td>";
echo nl2br($row["tekst"]);
echo "&nbsp;</td></tr>";
echo "</table>";
echo "</td></tr>";
echo "</table>";
echo "<hr size=\"1\" width=\"600\" align=\"left\" color=\"#C0C0C0\" noshade>";
}

if ($_GET[slet] == "ok") {
mysql_query("DELETE FROM gb WHERE id='$_GET[id]'") or die (mysql_error()); }

?>
</body>
</html>
Avatar billede Slettet bruger
13. september 2005 - 22:55 #12
Men hvorfor vil du starte med at slette alle poster i gb?
Avatar billede yezbarh Nybegynder
13. september 2005 - 22:56 #13
Gør han jo hellere ikke?
Det jo en get-metode, som kun sletter alt, når man trykker "reset gb"
Avatar billede Slettet bruger
13. september 2005 - 22:57 #14
ok.. Funktion virker overflødig i mine øjne.
Avatar billede kennedk Nybegynder
13. september 2005 - 22:58 #15
nu virker den , men hvorfor skal man trykke 2 gange?
Avatar billede kennedk Nybegynder
13. september 2005 - 23:00 #16
altså på linket.
Avatar billede kennedk Nybegynder
13. september 2005 - 23:05 #17
?
Avatar billede kennedk Nybegynder
13. september 2005 - 23:09 #18
den der sletter det hele er bare for sjov jeg lavede den.
Avatar billede yezbarh Nybegynder
13. september 2005 - 23:35 #19
Det jo ikke en fejl i php scriptet, det er dit internet.
Her kommer svar, eftersom det lyder som om du har lavet det.
Avatar billede kennedk Nybegynder
14. september 2005 - 13:02 #20
Jamen, den virker ikke som jeg vil, når jeg trykke på linket. så sletter den i databasen det den skal, men det opdatere først siden når jeg trykker to gange på samme link?
Avatar billede pr1nsen Nybegynder
14. september 2005 - 13:50 #21
smid det her ind;
if ($_GET[slet] == "ok") {
mysql_query("DELETE FROM gb WHERE id='$_GET[id]'") or die (mysql_error());
header("Location:?");
}
Avatar billede yezbarh Nybegynder
14. september 2005 - 13:51 #22
<html><head><title>Admin</title></head>
<body>
<?
include "connect.php";

if ($_GET['admin'] == "reset"){
mysql_query("DELETE FROM gb") or die(mysql_error());}
?>
<a href="<? PHP_SELF; ?>?admin=reset">reset GB</a><hr><br><br>
<?

$svar = mysql_query("SELECT * FROM gb ORDER BY id DESC") or die(mysql_error());

$row = mysql_fetch_array($svar);

$id = $row['id'];
echo "<table border=0 width=\"600\" bordercolor=\"#000000\" bordercolorlight=\"#000000\" bordercolordark=\"#000000\" bgcolor=\"#FFFFFF\" cellspacing=\"0\" cellpadding=\"0\">";
echo "<tr><td width=\"10%\"><table border=\"1\" bordercolorlight=\"#c0c0c0\" cellspacing=\"0\" cellpadding=\"0\" bordercolordark=\"#c0c0c0\" bordercolor=\"#c0c0c0\"><tr><td>Navn:</td></tr></table></td><td width=\"90%\">";
echo "<table border=\"1\" bordercolorlight=\"#c0c0c0\" cellspacing=\"0\" cellpadding=\"0\" bordercolordark=\"#c0c0c0\" bordercolor=\"#c0c0c0\">";
echo "<tr><td>&nbsp;";
echo $row["navn"];
echo "&nbsp;</td></tr>";
echo "</table>";
echo "</td><td><a href=\"admin.php?slet=ok&id=".$row[id]."\">slet</a></td></tr>";
echo "<tr><td width=\"10\"><table border=\"1\" bordercolorlight=\"#c0c0c0\" cellspacing=\"0\" cellpadding=\"0\" bordercolordark=\"#c0c0c0\" bordercolor=\"#c0c0c0\"><tr><td>Besked:</td></tr></table></td><td width=\"90%\">";
echo "<table border=\"1\" bordercolorlight=\"#c0c0c0\" cellspacing=\"0\" cellpadding=\"0\" bordercolordark=\"#c0c0c0\" bordercolor=\"#c0c0c0\">";
echo "<tr><td>";
echo nl2br($row["tekst"]);
echo "&nbsp;</td></tr>";
echo "</table>";
echo "</td></tr>";
echo "</table>";
echo "<hr size=\"1\" width=\"600\" align=\"left\" color=\"#C0C0C0\" noshade>";
}

if ($_GET[slet] == "ok") {
mysql_query("DELETE FROM gb WHERE id='$_GET[id]'") or die (mysql_error()); }
print "<script>location.href='admin.php';</script>";
?>
</body>
</html>
Avatar billede kennedk Nybegynder
14. september 2005 - 17:06 #23
yezbarh, jeg lavede lidt om på det. og nu virker det som jeg vil :)
mange tak, jeg acceptere dit svar:)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester