22. april 2004 - 21:30
Der er
9 kommentarer og 1 løsning
Deleteknap + fetch (SQL)
hey.. jeg har et nyhedsystem som laver en fetch: <?php // Hent først data ud $resultat = mysql_query("select * FROM nyhedsys order by date desc"); // Kør så igennem for hver række while ($raekke = mysql_fetch_array($resultat)) { extract($raekke); ?> <table align="center" border="1" > <tr> <td width="408"><center><b><? echo "$headline" ?></font></td> </tr> <tr> <td width="408"><br><? echo "$news" ?><br><br></font></td> </tr> <tr> <td width="408">Skrevet af: <a href="mailto:<? echo "$email" ?>"><? echo "$name" ?></a> d. <? echo "$date" ?> </font></td> </tr> <br> <? } ?> Jeg vil så gerne have et slet-link eller slet-knap, ved hver nyhed, så man kan slette den.. Jeg har prøvet, men så sletter den alle nyhederne.. Nogle gode idér eller forslag ?
Annonceindlæg fra Kingston Technology
22. april 2004 - 21:34
#1
Sådan noget som dette måske? <?php if( isset($_GET['slet']) ) { $id = addslashes($_GET['slet']); mysql_query("DELETE FROM nyhedsys WHERE id = '$id'"); } // Hent først data ud $resultat = mysql_query("select * FROM nyhedsys order by date desc"); // Kør så igennem for hver række while ($raekke = mysql_fetch_array($resultat)) { extract($raekke); ?> <table align="center" border="1" > <tr> <td width="408"><center><b><? echo "$headline" ?></font></td> </tr> <tr> <td width="408"><br><? echo "$news" ?><br><br></font></td> </tr> <tr> <td width="408">Skrevet af: <a href="mailto:<? echo "$email" ?>"><? echo "$name" ?></a> d. <? echo "$date" ?> <br /> <a href="<?php print $_SERVER['PHP_SELF'];?>?slet=$id">Slet</a> </font></td> </tr> <br> <? } ?>
22. april 2004 - 21:37
#2
jaa, det ser godt ud.. Men er $_SERVER = servernavnet ... altså f.eks. localhost ?
22. april 2004 - 21:40
#3
$_SERVER er en række variabler som bliver sat af php.. Fx er $_SERVER['PHP_SELF'] navnet på det script der udføres. Den hed i "gamle dage" $HTTP_SERVER_VARS.. Du kan lave en lille fil med følgende indhold: <?php phpinfo(); ?> .. Der kan du se hvad $_SERVER kan indeholde (søg efter _SERVER, den står lidt nede på siden).
22. april 2004 - 21:45
#4
okay tak.. men det virker ikke lige.. der kommer ingen fejlmeddelser.. men det der burde blive slettet, står der stadig, også efter at jeg har opdateret siden..
22. april 2004 - 21:50
#5
erstat: mysql_query("DELETE FROM nyhedsys WHERE id = '$id'"); med mysql_query("DELETE FROM nyhedsys WHERE id = '$id'") or die(mysql_error()); og se om du får fejl. Har du et felt der hedder ID i tabellen?
22. april 2004 - 21:54
#6
hmm.. stadig ingen fejl, og ja jeg har et felt der hedder ID
22. april 2004 - 21:59
#7
Når du trykker på slet, så ændres urlen sådan at der står .. minside.php?slet=42 ? Har du brugt det kode jeg forslog, eller bruger du noget andet? (hvis du gør, gider du at poste det, så vi arbejder på samme grundlag)
22. april 2004 - 22:03
#8
bruge skam din kode...har fundet fejlen <a href="<? print $_SERVER['PHP_SELF']; ?>?slet=<? echo "$id" ?> ">Slet</a> slet=<? echo "$id" ?> men ellers superp kode.. læg et svar og der er point :)
22. april 2004 - 22:06
#9
Heh, det er da godt du er en smule vågen :-) Tak.
22. april 2004 - 22:08
#10
mange tak :D
Vi tilbyder markedets bedste kurser inden for webudvikling