Avatar billede sbk-eraser Nybegynder
05. juni 2007 - 19:41 Der er 6 kommentarer og
1 løsning

slet-funktion

Hej!

Jeg har oprettet en database, som skal bruges til organisering af plader. Det virker som udgangspunkt perfekt med indsætning af nye plader, men problemet kommer når jeg gerne vil slette en fra registeret. Jeg har oprettet en funktion, som skaber en "slet"-knap efter hver plade, men den ser ike ud til at virke. Jeg er på bar bund, og har ingen idéer til hvad der kan gøres for at skidtet virker.

Her er scriptet der opretter databasen:


<?php

include("connect.php");

if (mysql_query("CREATE DATABASE ameoba"))
{
echo "Databasen er oprettet!";
}
else
{
echo "Fejl i oprettelse af database: " . mysql_error();
}

mysql_select_db("ameoba");
$sql = "CREATE TABLE plader
(
ID int NOT NULL AUTO_INCREMENT,
PRIMARY KEY(ID),
artist varchar(50),
title varchar(50),
label varchar(50),
catalog varchar(20),
releasedate varchar(10)
)";
mysql_query($sql);
?>


og her er filen der viser registeret, med funktionen der burde kunne slette indlæg:


<?php
function printDeleteButton($id) {
    print "\n";
    print "<form method='post' action='slet.php'>";
    print "<input type='hidden' name='id' value='" . $id . "'/>";
    print "<input type='submit' value='Slet' />";
    print "</form>";   
    print "\n";
}
   
include("connect.php");

mysql_select_db("ameoba");
?>

[ lidt HTML-kode ]

<?php

$result = mysql_query("SELECT * FROM plader ORDER BY ID DESC");

echo '<table border="0" width="400">';

while($row = mysql_fetch_array($result))
  {
  echo '<tr>';
  echo "<td><br /> <p>Kunstner:</p><p>Titel:</p><p>Label:</p><p>Katalog.nr.:</p><p>Udgivelsesdato:</p><hr />";
 
  printDeleteButton($row['ID']);
 
  echo "</td><td><p>". 
  $row['artist'] . "</p><p>" .
  $row['title'] . "</p><p>" .
  $row['label'] . "</p><p>" .
  $row['catalog'] . "</p><p>" .
  $row['releasedate'] . "<br />";
 
  echo "</p><hr /></td>";
  echo "</tr>";
  }
echo "</table>";
?>


Og her er scriptet der sletter:


<?php

include("connect.php");
mysql_select_db("ameoba");

$id = $_POST["id"];
$confirmed = $_POST["confirmed"];

if ($confirmed=="yes") {
    $sql = "DELETE FROM plader WHERE ID = '" . $id ."'";
    mysql_query($sql) or die (mysql_error());//("Problemer under sletning: " . $sql);
   
} else {
    ?>
    Er du sikker på at du vil slette: <?=$id ?>?<br />
    <form action='slet.php' method='post' />
    <input name='confirmed' value='yes' type='hidden'/>
    <input name='id' value='<?=$id ?>' type='hidden' />
        <input value='Delete' type='submit' />
   
    <?
}

?>


Jeg får ganske vidst vist en slet-knap, men så snart jeg trykker på den får jeg fejlmeddelelsen:

" Parse error: syntax error, unexpected $end in C:\Programmer\wamp\www\nadsat\slet.php on line 30 "


- Håber der er en der har et bud!
På forhånd tak.
Avatar billede erikjacobsen Ekspert
05. juni 2007 - 19:56 #1
Prøv
<?php
i stedet for bare
<?
Avatar billede sbk-eraser Nybegynder
05. juni 2007 - 20:00 #2
Den spottede jeg også selv lige ;)

Nu bliver jeg pænt spurgt: Er du sikker på at du vil slette: ?, men indlægget bliver ikke slettet. Der bliver heller ikke indsat et $id før spørgsmålstegnet, som det ses. Graver videre ..
Avatar billede erikjacobsen Ekspert
05. juni 2007 - 20:13 #3
Når du ikke har stillet på PHP bør
  <?=$id ?>
være
  <?php print $id; ?>
Avatar billede sbk-eraser Nybegynder
05. juni 2007 - 20:16 #4
Tak, det virkede :)

Skriv et svar (ikke kommentar), så du kan få points'ne.
Avatar billede erikjacobsen Ekspert
05. juni 2007 - 20:21 #5
Jeg samler slet ikke på point, tak.
Du har fornøjelse af at strikke noget PHP sammen, som vil virke på alle PHP-installationer. Men både <? og <?= er så rare at have, syn's no'n, at man ofte indstiller PHP til at forstå dem. WAMP er typisk ikke således indstillet fra starten.
Avatar billede sbk-eraser Nybegynder
05. juni 2007 - 20:27 #6
Tak for ektra-info :)

Vidste ikke at wamp var stykket sådan sammen.
Ellers så dejlig let at have alt-i-et.
Avatar billede sbk-eraser Nybegynder
27. december 2007 - 11:16 #7
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
Computerworld tilbyder specialiserede kurser i database-management

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