_Nitro_ Skrevet 15. oktober 2003 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..?
Ueland Skrevet 15. oktober 2003 Skrevet 15. oktober 2003 DROP * FROM nyheter WHERE ID = x ( x = id på innelegget du skal slette)
_Nitro_ Skrevet 15. oktober 2003 Forfatter 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() ); } ?>
christt Skrevet 15. oktober 2003 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...
Azton Skrevet 15. oktober 2003 Skrevet 15. oktober 2003 Ville nok også sagt DELETE FROM tabell WHERE id = x
Ueland Skrevet 15. oktober 2003 Skrevet 15. oktober 2003 Ville nok også sagt DELETE FROM tabell WHERE id = x Min feil, virker mer korrekt den ja
BrokenTomato Skrevet 15. oktober 2003 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*
_Nitro_ Skrevet 15. oktober 2003 Forfatter 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:'); } ?>
christt Skrevet 15. oktober 2003 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.
_Nitro_ Skrevet 15. oktober 2003 Forfatter 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;
Azton Skrevet 15. oktober 2003 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..
_Nitro_ Skrevet 20. oktober 2003 Forfatter 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?
_Nitro_ Skrevet 20. oktober 2003 Forfatter 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'
pian Skrevet 20. oktober 2003 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!
fx-zephyr Skrevet 29. oktober 2003 Skrevet 29. oktober 2003 $query = "DELETE FROM nyheter WHERE id='".$value."'"; fiks og se om det hjelper
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å