Avatar billede Slettet bruger
29. maj 2011 - 18:08 Der er 1 løsning

Slette en nyhed ved klik på knap (php/mysql)

Hej alle,

jeg er gået igang med at lære php og prøver i den forbindelse at lave et lille simpelt nyhedssystem.
Jeg er nået til det punkt, hvor jeg gerne vil lave en slette knap, som er under hver af de enkelte indlæg. Min kode ser ud som følger.

Senyhed.php

<?php
    include ('connect.php');
$result = mysql_query("SELECT DISTINCT overskrift, nyhed, date, id FROM nyhed ORDER BY id DESC");

while($row = mysql_fetch_array($result))
  {
  $id = $row['id'];
  echo '<font class="nyhedoverskrift">'.$row['overskrift']."</font><font class='nyheddato'>, " .$row['date'].
    "</font><br><p> " . nl2br($row['nyhed']);
  echo "<br /></p>";
  echo '<form action="delete.php" method="post">
<input type="submit" name="deletebutton" value="Slet denne nyhed" /><?php $id ?></form>';
  echo "<br />";

  }
?>

og delete.php ser således ud:


<?php

$delete = "delete * from nyhed";
include ("connect.php");

if(isset($_POST['deletebutton'])) {
$result =mysql_query($delete);
if ($result ==true)
{ echo "The row has been deleted successfully"; }
else echo "No rows has been deleted";

}
?>


Så vidt jeg kan se, overfører jeg ikke nogle informationer fra senyhed.php ved at trykke på knappen, som indikerer hvilken række der skal slettes fra min database.

Er som sagt meget ny, så den simpleste løsning ville være at foretrække :)
29. maj 2011 - 19:58 #1
I Senyhed.php henter du de bestaaende nyheder, og for hver nyhed i databasen viser du nyheden og derefter laver du en form med en deleteknap.  For at have nyhedens id til rådighed for koden i delete.php skal du i formen inkludere en 'hidden' inputfelt med id'en, for eksempel således (ikke testet):

while($row = mysql_fetch_array($result))
{
  .....
  .....
  echo "<form action='delete.php' method='post'>";
  echo "<input type='hidden' name='id' value=$id />";
  echo "<input type='submit' name='deletebutton' value='slet denne nyhed' />$id";
  echo "</form>";
  echo "<br>";
}
?>

Saa i delete.php fanger du id'en paa den nyhed der skal slettes i $_POST['id'] :

<?php
include("connect.php");
$id = $_POST['id'];
$result = mysql_query("DELETE FROM nyhed WHERE id = $id");
if($result) echo "The row has been deleted successfully";
else echo "No rows have been deleted";
?>
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
Kurser inden for grundlæggende programmering

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