11. september 2003 - 13:40
Der er
18 kommentarer og 1 løsning
delete og edit i mysql-nyhed
Hej! jeg har dette script til nyheder: <? $connection = mysql_connect("localhost","xxx","xxx"); mysql_select_db("xxx", $connection); $query = mysql_query("SELECT * FROM vidnesbyrd ORDER BY id DESC LIMIT 0,100"); while($row = mysql_fetch_array($query)) { echo" <table class='tekstafsnit' width='100%' border='0' cellspacing='0' cellpadding='0'> <tr> <td><b> · <a href=\"visvidnesbyrd.php?id=$row[id]\">$row[overskrift]</a></b></td> </tr> </table> "; } ?> jeg vil gerne have at der efter overskriften kommer til at være et link hvor jeg kan slette den valgte nyhed i min mysql og et andet link hvor jeg kan redigerer i den hele nyheden. Min script til vis nyhed er: <? $connection = mysql_connect("localhost","xxx","xxx"); mysql_select_db("xxx", $connection); $query = mysql_query("SELECT * FROM vidnesbyrd WHERE id = '".$_GET['id']."'"); while($row = mysql_fetch_array($query)) { echo" <table class='tekstafsnit' width='100%' border='0' cellspacing='0' cellpadding='0'> <tr> <td><span style='font-size: 18px;'><b>$row[overskrift]</b></span><br><i>Skrevet den $row[dato] af $row[forfatter]</i></h4></td> </tr> <tr> <td>$row[nyhed]</td> </tr> </table> "; } ?> Der er 200 p. til dig der kan lave et link efter overskriften hvor jeg kan slette nyheden og et link hvor jeg så kan redigerer i det og gemme det igen.
Annonceindlæg fra Infor
11. september 2003 - 13:47
#1
<a href=\"visvidnesbyrd_slet.php?id=$row[id]\">Slet</a> Så skal du bare skrive i din visvidnesbyrd_slet.php: mysql_query("DELETE FROM table WHERE id = '$_GET[id]'"); (du skal selvfølgelig lige åbne db'en osv., og eventuelt også tjekke rettigheder.
11. september 2003 - 13:50
#2
prøv at kigge på
www.mbn.dk - der ligger en rigtig god begynder guide
11. september 2003 - 13:50
#3
delete.php (dit link skal hedde "delete.php?id=$row['id']") <? $connection = mysql_connect("localhost","xxx","xxx"); mysql_select_db("xxx", $connection); if ($confirm != "Ja") { echo "<a href=\"delete.php?id=$id&confirm=Ja>Bekræft</a>"; } else { mysql_query("DELETE FROM vidnesbyrd WHERE id = $id"); echo "Nyheden er slettet"; } ?> Eller noget i den retning, har ikke lige testet det af. Du må selv rette til så det bliver lidt pænere. Mht. ændring kigger jeg lige på det.
11. september 2003 - 14:20
#4
Jeg går ud fra at du kun har felterne "id", "overskrift", "dato", "forfatter" og "nyhed" i din tabel. modify.php (dit link skal hedde "modify.php?id=$row['id']") <? $connection = mysql_connect("localhost","xxx","xxx"); mysql_select_db("xxx", $connection); $query = mysql_query("SELECT * FROM vidnesbyrd WHERE id = $id"); while($row = mysql_fetch_array($query)) { echo"<form name=\"form1\" method=\"post\" action=\"save.php\">"; echo "id : " . $row['id'] . "<br>"; //må ikke ændres, da den er unik (forhåbenlig :)) echo "overskrift : <input name=\"overskrift\" type=\"text\" id=\"overskrift\" value=\"" . $row['overskrift'] . "\"><br>"; echo "dato : <input name=\"dato\" type=\"text\" id=\"dato\" value=\"" . $row['dato'] . "\"><br>"; echo "forfatter : <input name=\"forfatter\" type=\"text\" id=\"forfatter\" value=\"" . $row['forfatter'] . "\"><br>"; echo "nyhed : <input name=\"nyhed\" type=\"text\" id=\"nyhed\" value=\"" . $row['nyhed'] . "\"><br>"; echo "<input type=\"submit\" name=\"Submit\" value=\"Ok\">"; echo "</form>"; } ?> save.php: <? $connection = mysql_connect("localhost","xxx","xxx"); mysql_select_db("xxx", $connection); $id = $_REQUEST["id"]; $overskrift = $_REQUEST["overskrift"]; $dato = $_REQUEST["dato"]; $forfatter = $_REQUEST["forfatter"]; $nyhed = $_REQUEST["nyhed"]; mysql_query("UPDATE vidnesbyrd SET overskrift = '$overskrift', dato = '$dato', forfatter = '$forfatter', nyhed = '$nyhed' WHERE id = $id"); echo "Ændringer gemt<br>"; ?> Du må selv lave validering (f.eks. om datoen er i et gyldigt format, om id overhovedet eksisterer og lign.)
11. september 2003 - 14:55
#5
michaelthomassen>> den melder fejl i linie 30: Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in /home/creeddk/public_html/test1/editvidnesbyrd.php on line 30 <? $connection = mysql_connect("localhost","creeddk_creed","nonstop"); mysql_select_db("creeddk_creed", $connection); $query = mysql_query("SELECT * FROM vidnesbyrd ORDER BY id DESC LIMIT 0,100"); while($row = mysql_fetch_array($query)) { echo" <table class='tekstafsnit' width='100%' border='0' cellspacing='0' cellpadding='0'> <tr> (LINIE 30) <td><b> · <a href=\"modify.php?id=$row['id']"\>$row[overskrift]</a></b></td> </tr> </table> "; } ?>
11. september 2003 - 15:07
#6
Prøv med dette: echo"<table class='tekstafsnit' width='100%' border='0' cellspacing='0' cellpadding='0'> <tr> <td><b> · <a href='modify.php?id=" . $row['id'] . "'>$row['overskrift']</a></b></td> </tr> </table> "; Jeg tror det er fordi du skriver $row[overskrift], det burde være $row['overskrift'], da feltnavnet er typen string. Så burde det virke. Og så vil jeg nok lige opfordre dig til at ændre login/password på din server :)
11. september 2003 - 15:17
#7
Virker ikke.. melder samme fejl
11. september 2003 - 15:25
#8
Samme linie ? Jeg kan se at i din kode skriver du "\ i stedet for \", måske har du lavet denne fejl andre steder. Kig også lige efter at du skriver $row['feltnavn'] alle steder og ikke $row[feltnavn].
11. september 2003 - 15:40
#9
jeg har lavet en fil der hedder editvidnesbyrd.php - det er fra den jeg skal kunne klikke på "edit" og redigerer det hele... min kode ser sådan ud: (Jeg kan ikke se fejlen) <html> <head> <title>Vidnesbyrd</title> <link href="plugins/iframe.css" type=text/css rel="stylesheet"> </head> <body topmargin="0" leftmargin="0"> <div align="right"> <b><h4><div class="overskrift">Læs vidnesbyrd</div></h4> <br> </b> <table width="99%" style="border: 1px #CCCCCC solid;" align="right" class="link"> <tr> <td background="images/bg_bund.jpg" style="border-bottom: 1px dotted #CCCCCC;" colspan="2"> <div align="left"><b>Vidnesbyrd</b></div> </td> </tr> <tr> <td> <div align="left"> <? include("config.php"); $query = mysql_query("SELECT * FROM vidnesbyrd ORDER BY id DESC LIMIT 0,100"); while($row = mysql_fetch_array($query)) { echo"<table class='tekstafsnit' width='100%' border='0' cellspacing='0' cellpadding='0'> <tr> <td><b> · <a href='modify.php?id=" . $row['id'] . "'>$row['overskrift']</a></b></td> </tr> </table> "; } ?> </div> </td> </tr> </table> <p> </p> </div> </body> </html>
11. september 2003 - 15:53
#10
Prøv denne echo sætning i stedet for: echo"<table class='tekstafsnit' width='100%' border='0' cellspacing='0' cellpadding='0'> <tr> <td><b> · <a href='modify.php?id=" . $row['id'] . "'>" . $row['overskrift'] . "</a></b></td> </tr> </table> "; Hvis der stadig er fejl, prøv da at dele echo sætningen op i flere, og find ud af hvor helt præcis fejlen opstår.
11. september 2003 - 16:22
#11
Her er fejlen: <a href='modify.php?id=" . $row['id'] Hvis jeg fjerner "'" i $row['id'] kan jeg se det, men jeg kan ikke ændre det endnu.
11. september 2003 - 16:26
#12
Har du Messenger eller ICQ ? Så vil jeg lige kontakte dig når jeg kommer hjem ca. kl. 17.30
11. september 2003 - 16:28
#13
kasper_br@hotmail.com - jeg er på messenger
11. september 2003 - 16:29
#14
jeg smuter også nu.. jeg kommer hjem ved 20:15 (ca.) Så ses vi der!
11. september 2003 - 20:39
#15
Så er jeg kommet hjem!
11. september 2003 - 22:00
#16
Beklager, jeg er først kommet hjem nu. Jeg har tilføjet dig i messenger, men det ser ikke ud til at du er online.
12. september 2003 - 10:33
#17
Jeg har sendt filerne til din mail adresse, som virker (på mit system i hvert fald). Du kan jo lige poste koden her hvis du kan bruge det til noget. Så får andre også noget ud af det.
12. september 2003 - 14:54
#18
Svar :)
12. september 2003 - 14:54
#19
Doh, svar :)
Vi tilbyder markedets bedste kurser inden for webudvikling