Avatar billede msira Nybegynder
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.
Avatar billede baldi3 Nybegynder
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.
Avatar billede avminarm Juniormester
11. september 2003 - 13:50 #2
prøv at kigge på www.mbn.dk - der ligger en rigtig god begynder guide
Avatar billede michaelthomassen Nybegynder
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.
Avatar billede michaelthomassen Nybegynder
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.)
Avatar billede msira Nybegynder
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>
";
}
?>
Avatar billede michaelthomassen Nybegynder
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 :)
Avatar billede msira Nybegynder
11. september 2003 - 15:17 #7
Virker ikke.. melder samme fejl
Avatar billede michaelthomassen Nybegynder
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].
Avatar billede msira Nybegynder
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>&nbsp;</p>
  </div>
</body>

</html>
Avatar billede michaelthomassen Nybegynder
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.
Avatar billede msira Nybegynder
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.
Avatar billede michaelthomassen Nybegynder
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
Avatar billede msira Nybegynder
11. september 2003 - 16:28 #13
kasper_br@hotmail.com - jeg er på messenger
Avatar billede msira Nybegynder
11. september 2003 - 16:29 #14
jeg smuter også nu.. jeg kommer hjem ved 20:15 (ca.)

Så ses vi der!
Avatar billede msira Nybegynder
11. september 2003 - 20:39 #15
Så er jeg kommet hjem!
Avatar billede michaelthomassen Nybegynder
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.
Avatar billede michaelthomassen Nybegynder
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.
Avatar billede michaelthomassen Nybegynder
12. september 2003 - 14:54 #18
Svar :)
Avatar billede michaelthomassen Nybegynder
12. september 2003 - 14:54 #19
Doh, 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
Vi tilbyder markedets bedste kurser inden for webudvikling

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