Gå til innhold

Hjelp til å slette fra en tabell i mySQL


Anbefalte innlegg

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
Videoannonse
Annonse

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. :cry:


<?

       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

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


<?

       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. :evil:

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

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

<?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

<! --- 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

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

 

:p 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
  • 2 uker senere...

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...