Avatar billede torstein Novice
03. december 2001 - 23:05 Der er 11 kommentarer og
1 løsning

Delete i <a href.......

Hej.
Jeg har lavet følgende script, som henter mine nyheder ned og udskriver dem..Kan det lade sig gøre ved hjælp af et hyperlink <a href....> når man trykker på linket, som står ud for hver linie i nyhederne, at slette den enkelte nyhed. Har prøvet lidt, men systemet er ikke så glad for alle mine \"\"..

Evt andre forslag, så som checkmærke bokse modtages gerne...

<?
include (\"sql.php\");
$result = mysql_query(\"select * from nyhed ORDER BY nyheddato asc \");
$number = mysql_num_rows($result);
?>
<?
        while ($row = mysql_fetch_array($result)) {
?>
<table width=\"50%\" border=\"0\" cellspacing=\"1\" cellpadding=\"1\" border=\"0\">
<tr>
    <td bgcolor=\"#b3bcea\" width=50><font face=\"Tahoma\" size=\"1\"><? print $row[nyheddato];?></font></td>
    <td bgcolor=\"#b3bcea\" width=50><font face=\"Tahoma\" size=\"1\"><? print $row[hold];?></font></td>
    <td bgcolor=\"#b3bcea\" width=50><font face=\"Tahoma\" size=\"1\"><a href=\"<?mysql_query(\"delete from nyhed where tekst==$row[tekst]\")?>\"[slet]</A></font></td>
</tr>
<tr>
    <td border=\"1\" \"bgcolor=\"#b3bcea\"><a href=\"opstart.php\" target=\"MyFrameTwo\"><font size=\"-3\"><? print $row[tekst];?></font></a></td>
</tr>
<?
}
?>
Avatar billede mortenfn Nybegynder
03. december 2001 - 23:12 #1
ved dine \"\"

echo \"<a href=\\\"sghsog\\\"></a>\";

brug \\
Avatar billede mortenfn Nybegynder
03. december 2001 - 23:14 #2
\"><a href=\"opstart.php?id=<?=$row[id];?>\"

så laver du bare

delete from nyhed where id=\'$id\'
Avatar billede mortenfn Nybegynder
03. december 2001 - 23:14 #3
query(\"delete from nyhed where tekst==$row[tekst]\")?>\"[

ikke == kun =
Avatar billede snigermunken Nybegynder
03. december 2001 - 23:16 #4
lav en side du kalder for slet.php f.eks med denne kode:

<?
include (\"sql.php\");
$result = mysql_query(\"DELETE FROM nyhed WHERE nr=\'$nr\'\");
$number = mysql_num_rows($result);
header (\"Location: indexT.php\");
?>

så det hvor du vil havde \"slette linket\" laver du linket så den kommer til at hedde slet.php?nr=$nr så virker det.
Avatar billede mortenfn Nybegynder
03. december 2001 - 23:19 #5
<?
include (\"sql.php\");
$result = mysql_query(\"select * from nyhed ORDER BY nyheddato asc \");
$number = mysql_num_rows($result);
?>
<?
if($id>0)mysql_query(\"delete from nyhed where id=\'$id\'\")

while$row = mysql_fetch_array($result)) {
?>
<table width=\"50%\" border=\"0\" cellspacing=\"1\" cellpadding=\"1\" border=\"0\">
<tr>
    <td bgcolor=\"#b3bcea\" width=50><font face=\"Tahoma\" size=\"1\"><?=$row[nyheddato];?></font></td>
    <td bgcolor=\"#b3bcea\" width=50><font face=\"Tahoma\" size=\"1\"><?=$row[hold];?></font></td>
    <td bgcolor=\"#b3bcea\" width=50><font face=\"Tahoma\" size=\"1\"><a href=\"?id=<?=$row[id]?>\">[slet]</A></font></td>
</tr>
<tr>
    <td border=\"1\" \"bgcolor=\"#b3bcea\"><a href=\"opstart.php\" target=\"MyFrameTwo\"><font size=\"-3\"><? print $row[tekst];?></font></a></td>
</tr>
<?
}
?>
Avatar billede mortenfn Nybegynder
03. december 2001 - 23:20 #6
<?
include (\"sql.php\");
if($id>0)mysql_query(\"delete from nyhed where id=\'$id\'\")
$result = mysql_query(\"select * from nyhed ORDER BY nyheddato asc \");
$number = mysql_num_rows($result);
?>
Avatar billede mortenfn Nybegynder
03. december 2001 - 23:21 #7
prøv om du kan få noget ud af det
Avatar billede mortenfn Nybegynder
03. december 2001 - 23:29 #8
der er også fejl i din tabel !!

<?
include (\"sql.php\");

if($id>0)mysql_query(\"delete from nyhed where id=\'$id\'\")
$result = mysql_query(\"select * from nyhed ORDER BY nyheddato\");
$number = mysql_num_rows($result);
while($row = mysql_fetch_array($result)){
?>
<table width=\"50%\" border=\"0\" cellspacing=\"1\" cellpadding=\"1\" border=\"0\">
<tr>
    <td bgcolor=\"#b3bcea\" width=50><font face=\"Tahoma\" size=\"1\"><?=$row[nyheddato];?></font></td>
    <td bgcolor=\"#b3bcea\" width=50><font face=\"Tahoma\" size=\"1\"><?=$row[hold];?></font></td>
    <td bgcolor=\"#b3bcea\" width=50><font face=\"Tahoma\" size=\"1\"><a href=\"?id=<?=$row[id]?>\">[slet]</A></font></td>
</tr>
<tr>
    <td width=\"100%\" colspan=\"3\" border=\"1\" \"bgcolor=\"#b3bcea\"><a href=\"opstart.php\" target=\"MyFrameTwo\"><font size=\"-3\"><? print $row[tekst];?></font></a></td>
</tr>

<?}?>
Avatar billede torstein Novice
04. december 2001 - 01:42 #9
MortenFN:

Den sletter IKKE i DB. Jeg har ikke noget id i DB, hvilket jeg fortryder, men jeg kan ikke oprette det. Følgende fejlmeddelelse kommer :

Incorrect table definition; There can only be one auto column and it must be defined as a key

Min nyhedstabel ser sådan ud:

CREATE TABLE nyhed (
  nyheddato date NOT NULL default \'0000-00-00\',
  linket text NOT NULL,
  hold text NOT NULL,
  linkto text NOT NULL,
  korttekst text NOT NULL,
  langtekst text NOT NULL
) TYPE=MyISAM;

Nu ser koden sådan ud i stedet, men den sletter ikke!!:

<?
include (\"sql.php\");
if($id>0)mysql_query(\"delete from nyhed where korttekst=\'$id\'\");
$result = mysql_query(\"select * from nyhed ORDER BY nyheddato asc \");
$number = mysql_num_rows($result);
?>
<?
        while ($row = mysql_fetch_array($result)) {
?>
<table width=\"30%\" border=\"0\" cellspacing=\"1\" cellpadding=\"1\" border=\"0\">
<tr>
    <td bgcolor=\"#b3bcea\" width=70%><font face=\"Tahoma\" size=\"1\"><? print $row[nyheddato];?></font></td>
    <td bgcolor=\"#b3bcea\" width=30%><font face=\"Tahoma\" size=\"1\"><div align=\"center\"><? print $row[hold];?></div></font></td>
   
</tr>
<tr>
    <td border=\"1\" \"bgcolor=\"#b3bcea\" width=70%><font face=\"Tahoma\" size=\"1\"><? print $row[korttekst];?></font></td>
<td bgcolor=\"#b3bcea\" width=30%><font face=\"Tahoma\" size=\"1\"><a href=\"?id=<?=$row[korttekst]?>\"><div align=\"center\">[slet]</div></div></A></font></td>
</tr>
<?
}

Og til snigermunken:

Hvad gør headeren med indexT.php????
Avatar billede snigermunken Nybegynder
04. december 2001 - 01:48 #10
Ja vis kigger på koden siger jeg du skal andre dine link så de kommer til at se sådan ud a href=\"slet.php?id/nr=$nr>Slet</a>

Jeg ved ikke om du bruger id eller nr men $nr det sætter du den nyhed du vil slettes nr/id ind.

så laver du slet.php:

<?
include (\"sql.php\");
$result = mysql_query(\"DELETE FROM nyhed WHERE nr=\'$nr\'\");
$number = mysql_num_rows($result);
header (\"Location: indexT.php\");
?>

eller

<?
include (\"sql.php\");
$result = mysql_query(\"DELETE FROM nyhed WHERE id=\'$id\'\");
$number = mysql_num_rows($result);
header (\"Location: indexT.php\");
?>

så sletter du den nyhed og header sender dig tilbage til siden med dien nyheder og da jeg ikke viste hvad den hed ændrede jeg ikke på den.
Avatar billede torstein Novice
04. december 2001 - 15:01 #11
Efter jeg fik lavet en id i min nyhedstabel fungerede MortenFNs forslag. TAK

Snigermunken: Det virkede ikke, da $id fra mit nyhedsscript ikke bliver overført til slet.php !!
Avatar billede mortenfn Nybegynder
04. december 2001 - 19:56 #12
du kunne egentlig godt bruge en af dine andre rows - men for at delete er sikker skal du jo bruge et unikt udgangspunkt og det id oftes - derfor.
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