_Nitro_ Skrevet 15. oktober 2003 Del Skrevet 15. oktober 2003 Trenger hjelp til å sette opp en form med sql spørring for å slette nyheter fra en tabell..... Slik ser sql tabellen ut: CREATE TABLE nyheter ( ID int(11) NOT NULL auto_increment, navn text, nyhet text, tid time NOT NULL default '00:00:00', dato date NOT NULL default '0000-00-00', overskrift varchar(32) NOT NULL default '#Nyheter', PRIMARY KEY (ID), FULLTEXT KEY navn (navn) ) TYPE=MyISAM; Jeg vil ha muligheten til å slette et inlegg. Noen som kan hjelpe meg..? Lenke til kommentar
Ueland Skrevet 15. oktober 2003 Del Skrevet 15. oktober 2003 DROP * FROM nyheter WHERE ID = x ( x = id på innelegget du skal slette) Lenke til kommentar
_Nitro_ Skrevet 15. oktober 2003 Forfatter Del Skrevet 15. oktober 2003 Hva kan være feil her? Den får opp nyhets teksten men når jeg trykker på slett knappen så fjerner den ikke noe. <? include('../mysql-config.php'); ?> <form action="<?=$_SERVER['PHP_SELF']?>" method="post"> <?php $result=mysql_query("SELECT * FROM nyheter") or die (mysql_error()); echo '<select name="slettnyheter">'; while ( $row=mysql_fetch_assoc($result) ) { echo '<option value="'. $row['ID']. '">'. $row['navn']. ', '. substr($row['nyhet'], 0,20) . '...</option>'; } echo '<input type="submit" name="Action" value="Slett!">'; ?> </form> <?php if (isset($_POST['ID'])) { $query="DELETE FROM nyheter WHERE ID=".$_POST['ID']; mysql_query($query) or die(mysql_error() ); } ?> Lenke til kommentar
christt Skrevet 15. oktober 2003 Del Skrevet 15. oktober 2003 DROP * FROM nyheter WHERE ID = x ( x = id på innelegget du skal slette) Ville heller sagt DELETE FROM nyheter WHERE id = x jeg da... Lenke til kommentar
Azton Skrevet 15. oktober 2003 Del Skrevet 15. oktober 2003 Ville nok også sagt DELETE FROM tabell WHERE id = x Lenke til kommentar
Ueland Skrevet 15. oktober 2003 Del Skrevet 15. oktober 2003 Ville nok også sagt DELETE FROM tabell WHERE id = x Min feil, virker mer korrekt den ja Lenke til kommentar
BrokenTomato Skrevet 15. oktober 2003 Del Skrevet 15. oktober 2003 Fungerer det ikke og bare gå inn i admin seksjonen på mySQL? Skal vel fungere og slette de forskjellige tabellene der ifra da! Eller? *Vil lære litt jeg og* Lenke til kommentar
_Nitro_ Skrevet 15. oktober 2003 Forfatter Del Skrevet 15. oktober 2003 Hvorfor funker ikke denne? <? include('../mysql-config.php'); ?> <form action="<?=$_SERVER['PHP_SELF']?>" method="post"> <?php $result=mysql_query("SELECT * FROM nyheter") or die (mysql_error()); echo '<select name="slettnyheter">'; while ( $row=mysql_fetch_assoc($result) ) { echo '<option value="'. $row['ID']. '">'. $row['navn']. ', '. substr($row['nyhet'], 0,20) . '...</option>'; } echo '<input type="submit" name="Action" value="Slett!">'; ?> </form> <?php if (isset($_POST['Action'])) { $sql = "DELETE FROM info WHERE ID=".$_POST['ID']"; if (@mysql_query($sql)) { echo('<p>Sendt:'); } ?> Lenke til kommentar
christt Skrevet 15. oktober 2003 Del Skrevet 15. oktober 2003 <?php if (isset($_POST['Action'])) { $sql = "DELETE FROM info WHERE ID=".$_POST['ID']"; if (@mysql_query($sql)) { echo('<p>Sendt:'); } ?> Et " for mye. Fjern det. Lenke til kommentar
_Nitro_ Skrevet 15. oktober 2003 Forfatter Del Skrevet 15. oktober 2003 <? include('../mysql-config.php'); ?> <form action="<?=$_SERVER['PHP_SELF']?>" method="post"> <?php $result=mysql_query("SELECT * FROM nyheter") or die (mysql_error()); echo '<select name="slettnyheter">'; while ( $row=mysql_fetch_assoc($result) ) { echo '<option value="'. $row['ID']. '">'. $row['navn']. ', '. substr($row['nyhet'], 0,20) . '...</option>'; } echo '<input type="submit" name="Action" value="Slett!">'; ?> </form> <?php if (isset($_POST['Action'])) { $sql = "DELETE FROM nyheter WHERE ID=".$_POST['ID']; if (@mysql_query($sql)) { echo('<p>Sendt:'); } } ?> Den er da fjernet. Og siden fungerer nå. Men jeg får ikke slettet nyhetene. Noen som kan se over hva som kan være feil? Her er mysql tabellen CREATE TABLE nyheter ( ID int(11) NOT NULL auto_increment, navn text, nyhet text, tid time NOT NULL default '00:00:00', dato date NOT NULL default '0000-00-00', overskrift varchar(32) NOT NULL default '#Nyheter', PRIMARY KEY (ID), FULLTEXT KEY navn (navn) ) TYPE=MyISAM; Lenke til kommentar
Azton Skrevet 15. oktober 2003 Del Skrevet 15. oktober 2003 Du kan jo prøve dette: <?php $submit = $_POST["submit"]; $check = $_POST["check"]; if (!empty($submit) && is_array($check)) { while(list( , $value) = each($check)) { $query = "DELETE FROM nyheter WHERE id = $value"; mysql_query($query) or die(mysql_error()); } } ?> <form action="<?=$PHP_SELF?>" method="post"> <table> <?php $result = mysql_query("SELECT * FROM nyheter") while ($row = mysql_fetch_assoc($result)) { echo "<tr>n"; echo "<td>n"; echo $row["overskrift"]; echo "</td>n"; echo "<td>n"; echo "<input type=checkbox name=check[] value=" . $row[id] . ">"; echo "</td>n"; echo "</tr>n"; } ?> <tr> <td> <input type="submit" value="Slett" name="submit"> </td> </tr> </table> </form> Tror noe slikt burde fungere.. Lenke til kommentar
_Nitro_ Skrevet 20. oktober 2003 Forfatter Del Skrevet 20. oktober 2003 <?php $submit = $_POST["submit"]; $check = $_POST["check"]; if (!empty($submit) && is_array($check)) { while(list( , $value) = each($check)) { $query = "DELETE FROM nyheter WHERE id = $value"; mysql_query($query) or die(mysql_error()); } } ?> <form action="<?=$PHP_SELF?>" method="post"> <table> <?php $result = mysql_query("SELECT * FROM nyheter") while ($row = mysql_fetch_assoc($result)) { echo "<tr>n"; echo "<td>n"; echo $row["overskrift"]; echo "</td>n"; echo "<td>n"; echo "<input type=checkbox name=check[] value=" . $row[id] . ">"; echo "</td>n"; echo "</tr>n"; } ?> <tr> <td> <input type="submit" value="Slett" name="submit"> </td> </tr> </table> </form> Parse error: parse error in /home/nitro/spot/admin/leggtilfjernnyheter.php on line 55 Finner ingen feil, ser dere noen? Lenke til kommentar
_Nitro_ Skrevet 20. oktober 2003 Forfatter Del Skrevet 20. oktober 2003 <! --- Fjern Nyheter --- !> <?php $submit = $_POST["submit"]; $check = $_POST["check"]; if (!empty($submit) && is_array($check)) { while(list( , $value) = each($check)) { $query = 'DELETE FROM nyheter WHERE id = $value'; mysql_query($query) or die(mysql_error()); } } ?> <form action="<?=$PHP_SELF?>" method="post"> <table> <?php $result = @mysql_query('SELECT * FROM nyheter'); if (!$result) { die('<p>Får ikke kontakt med ' . ' tabellen på dette tidspunktet: ' . mysql_error() . '</p>'); } // Vis tekt i som ligger i databasen while ( $row = mysql_fetch_assoc($result) ) { echo "<tr>n"; echo "<td>n"; echo $row["nyhet"]; echo "</td>n"; echo "<td>n"; echo "<input type=checkbox name=check[] value=" . $row[id] . ">"; echo "</td>n"; echo "</tr>n"; } ?> <tr> <td> <input type="submit" value="Slett" name="submit"> </td> </tr> </table> </form> Nå får jeg opp formen med alle nyhetene mine. Men jeg får ikke slettet. Denne feilmeldingen får jeg. Unknown column '$value' in 'where clause' Lenke til kommentar
pian Skrevet 20. oktober 2003 Del Skrevet 20. oktober 2003 Gå tilbake til den versjonen der du ikke fikk feil men ikke fikk sletta. Så tar du og skriver ut SQL-setningen - da ser du fort hva problemet er: a) SQL er riktig -> PHP er feil -> Fiks PHP B) SQL er feil -> Fiks SQL Men seriøst, å skrive ut er en genial måte å debugge på. Nå jobber du i blinde. Hvis du ikke kommer til det trinnet at du får SQL-setningen ut på skjerm engang, så ville jeg kommentert ut linje for linje til skriptet funker. Da kan du peke på den linja som fucker opp! Lenke til kommentar
fx-zephyr Skrevet 29. oktober 2003 Del Skrevet 29. oktober 2003 $query = "DELETE FROM nyheter WHERE id='".$value."'"; fiks og se om det hjelper Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå