Avatar billede -padde- Nybegynder
10. august 2004 - 10:25 Der er 22 kommentarer og
1 løsning

Redigér en nyhed

Hejsa...jeg vil gerne have sådan jeg kan redigér en nyhed....ved jeg skal bruge update i sql, men jeg kan bare ikke få det til at virke


min make-news.php er:

<? require_once('top.php'); ?>

<?

    session_start();

    if($_SESSION['login'] != 1){   

        header("location: login.php");

    } else {

?>

<HTML>



<head>

</head>

<body bgcolor="#FFFFFF" link="#000000" vlink="#000000" alink="#000000">



<p><center><b><font face="Verdana" size="2">Opret eller slet nyhed:</font></b></center></p>

<?php

include "sql.php";

if ($_POST[action] == "insert"){

    $af = $_POST[af];

    $overskrift = $_POST[overskrift];

    $nyhed = $_POST[nyhed];

    $billede = $_POST[billede];

    mysql_query("INSERT INTO nyheder (af, nyhed, billede, overskrift, dato) values ('".$af."','".$nyhed."','".$billede."','".$overskrift."',now())") or die (mysql_error());

}

?>

<form action="<? $PHP_SELF ?>" method="post">

<center><font face="Verdana" size="1">

  <table width="400" border="0">

    <tr>

      <td width="129"><font face="Verdana" size="1">Navn:</font></td>

      <td width="127"><font face="Verdana" size="1">Overskrift:</font></td>

      <td width="130"><font face="Verdana" size="1">Billede - <? echo "<font face=Verdana size=1><a href=/nyhed/upload.php><b>Upload billede</b></a></font>" ?></font></td>

    </tr>

    <tr>

      <td><font face="Verdana, Arial, Helvetica, sans-serif">

        <input type="text" name="af" class="nyhed">

        </font></td>

      <td><font face="Verdana, Arial, Helvetica, sans-serif">

        <input type="text" name="overskrift" value="Overskrift.." class="nyhed">

        </font></td>

      <td><font face="Verdana, Arial, Helvetica, sans-serif">

        <input type="text" name="billede" value="files/intet.jpg" class="nyhed">

        </font></td>

    </tr>

    <tr>

      <td valign="top" align="right"><font face="Verdana" size="1">Nyhed:</font></td>

      <td><textarea rows="6" cols="25" name="nyhed" class="nyhed"></textarea></td>

      <td valign="top">&nbsp;</td></tr>

  </table>

  </font></center>

<? echo "<p><center><font face=Verdana size=1><a href='index.php'>Nyhedsoversigt</a> | <a href='list.php'>Uploadede filer</a> | <a href='logud.php'>Log Ud</a></font></center></p>"; ?>

<p><center>

    <font face="Verdana" size="1">

    <input type="submit" name="insert" value="Opret" class="nyhed">

    <input type="hidden" name="action" value="insert">

    <input name="reset" type="reset" value="Reset">

    </font>

</center></p>

<p><center><font face="Verdana" size="1">Slet nyheder:</font></center></p>

<?

$res_nyheder = mysql_query("SELECT * FROM nyheder Order by id DESC LIMIT 9000");

while ($row_nyheder = mysql_fetch_array($res_nyheder)){

echo "<p><center><font face=Verdana size=1><a href=?sletid=$row_nyheder[id]><b>Slet</b></a><br>$row_nyheder[nyhed]</font></center></p>";

if ($sletid == "$row_nyheder[id]") {

mysql_query("DELETE FROM nyheder WHERE id='$row_nyheder[id]'");

echo "<p><center><font face=Verdana size=1><b>Slettet!</b></font></center></p>";

}

}

?>

<?

}

?>

<? require_once('bund.php'); ?>
Avatar billede sone Nybegynder
10. august 2004 - 10:28 #1
Du skal opbygge din SQL således:
UPDATE nyheder SET af='x', nyhed='dfd', billede='df', overskrift='f', dato=now() WHERE id=121
Avatar billede -padde- Nybegynder
10. august 2004 - 10:36 #2
jow, men jeg skal jo osse have sådan et textarea hvor nyheden kommer ind i hvor jeg så kan redigere det som står....fx hvis jeg har en slåfejl...eller billedet er forkert osv..
Avatar billede sone Nybegynder
10. august 2004 - 10:43 #3
Så indsætter du bare det... jeg ville bare lige skitsere hvordan en UPDATE-sætning opbygges.
Avatar billede -padde- Nybegynder
11. august 2004 - 10:33 #4
jamen sorry, fatter ikke det du skriver....
Avatar billede sone Nybegynder
11. august 2004 - 10:57 #5
Du kan næsten kopiere INSERT stykket og indsætte det lige efter:
elseif ($_POST[action] == "update"){
    $id = $_POST['id']
    $af = $_POST['af'];
    $overskrift = $_POST['overskrift'];
    $nyhed = $_POST['nyhed'];
    $billede = $_POST['billede'];
    mysql_query("UPDATE nyheder SET af='$af', nyhed='$nyhed', billede='$billede', overskrift='$overskrift', dato=now() WHERE id=".$id) or die (mysql_error());

}
Avatar billede -padde- Nybegynder
16. august 2004 - 13:20 #6
Sone, jeg kan fandme ikke få det til at virke... :( kan du ikke lave det for mig for 200 points ?
Avatar billede -padde- Nybegynder
18. august 2004 - 09:09 #7
jeg har fået en anden til at lave det for mig :)
Avatar billede sone Nybegynder
18. august 2004 - 09:29 #8
er lige kommet tilbage fra ferie...
Avatar billede -padde- Nybegynder
18. august 2004 - 09:57 #9
nåå okaj...skal jeg åbne igen ? for jeg har lige prøvet scriptet...der er faktisk fejl i :P åbner hvis du vil rette :)
Avatar billede sone Nybegynder
18. august 2004 - 10:04 #10
skidt med det
Avatar billede -padde- Nybegynder
18. august 2004 - 10:05 #11
okai :)
Avatar billede -padde- Nybegynder
18. august 2004 - 10:05 #12
vil du fixe fejlen ?
Avatar billede sone Nybegynder
18. august 2004 - 10:47 #13
prøv at komme med dem...
Avatar billede -padde- Nybegynder
18. august 2004 - 14:42 #14
change.php:

<?php
include "sql.php";

if($_POST["af"] AND $_POST["nyhed"] AND $_POST["id"] AND $_POST["billede"] AND $_POST["overskrift"]){
  mysql_query("UPDATE nyheder SET af = '$_POST[af]', nyhed = '$_POST[nyhed]', $_POST[billede]', overskrift = '$_POST[overskrift]' WHERE id = '$_POST[id]'") OR DIE(mysql_error());
}

$get_nyhed = mysql_query("SELECT * FROM nyheder WHERE id = '$_GET[id]'") OR DIE(mysql_error());
while($row_nyhed = mysql_fetch_array($get_nyhed)){
  $af = $row_nyhed["af"];
  $billede = $row_nyhed["billede"];
  $nyhed = $row_nyhed["nyhed"];
  $overskrift = $row_nyhed["overskrift"];
  $id = $row_nyhed["id"];
}   
?>
<HTML>

<head>
</head>
<body bgcolor="#FFFFFF" link="#000000" vlink="#000000" alink="#000000">

<form action="<? $PHP_SELF ?>" method="post">
<input type="hidden" name="id" value="<?=$id?>" class="nyhed">
<center><font face="Verdana" size="1">
  <table width="400" border="0">
    <tr>
      <td width="129"><font face="Verdana" size="1">Navn:</font></td>
      <td width="127"><font face="Verdana" size="1">Overskrift:</font></td>
      <td width="130"><font face="Verdana" size="1">Billede - <? echo "<font face=Verdana size=1><a href=/nyhed/upload.php><b>Upload billede</b></a></font>" ?></font></td>
    </tr>
    <tr>
      <td><font face="Verdana, Arial, Helvetica, sans-serif">
        <input type="text" name="af" class="nyhed" value="<?=$af?>">
        </font></td>
      <td><font face="Verdana, Arial, Helvetica, sans-serif">
        <input type="text" name="overskrift" value="<?=$overskrift?>" class="nyhed">
        </font></td>
      <td><font face="Verdana, Arial, Helvetica, sans-serif">
        <input type="text" name="billede" value="<?=$billede?>" class="nyhed">
        </font></td>
    </tr>
    <tr>
      <td valign="top" align="right"><font face="Verdana" size="1">Nyhed:</font></td>
      <td><textarea rows="6" cols="25" name="nyhed" class="nyhed"><?=$nyhed?></textarea></td>
      <td valign="top">&nbsp;</td></tr>
  </table>
  </font></center>
<p><center>
    <font face="Verdana" size="1">
    <input type="submit" name="insert" value="Opret" class="nyhed">
    <input type="hidden" name="action" value="insert">
    <input name="reset" type="reset" value="Reset">
    </font>
</center></p>

liste.php:

<?php
include "sql.php";
$get_nyheder = mysql_query("SELECT * FROM nyheder") OR DIE(mysql_error());

while($row_nyheder = mysql_fetch_array()){
  echo "<table border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\">
  <tr>
    <td width=\"33%\">Overskrift: <a href=\"change.php?id=".$row_nyheder["id"]."\">".$row_nyheder["overskrift"]."</a></td>
    <td width=\"34%\">Af: ".$row_nyheder["af"]."</td>
    <td width=\"33%\">Dato: ".$row_nyheder["dato"]."</td>
  </tr>
</table>";
}
?>
Avatar billede sone Nybegynder
18. august 2004 - 15:15 #15
Man kan ikke bruge AND inde i en IF-sætning i PHP - der skal man bruge &&
Avatar billede -padde- Nybegynder
18. august 2004 - 15:42 #16
hvordan skal det så se ud hvor hvis jeg selv erstatter AND med && laver den fejl...

Change.php: (ved change.php?id=1)
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '/intet.jpg', overskrift = 'Dumhed IGEN!' WHERE id = '1'' at lin

liste.php :
Warning: Wrong parameter count for mysql_fetch_array() in /web/www/frac/users/padden/liste.php on line 5
Avatar billede sone Nybegynder
18. august 2004 - 15:50 #17
hvis id er et tal, så skal der ikke '' omkring i SQL
Avatar billede -padde- Nybegynder
18. august 2004 - 16:34 #18
den fattede jeg ik helt :S
Avatar billede -padde- Nybegynder
18. august 2004 - 16:48 #19
<?php
include "sql.php";

if($_POST["af"] AND $_POST["nyhed"] AND $_POST["billede"] AND $_POST["overskrift"]){
  mysql_query("UPDATE nyheder SET af = '$_POST[af]', nyhed = '$_POST[nyhed]', billede = '$_POST[billede]', overskrift = '$_POST[overskrift]' WHERE id = '$_GET[id]'") OR DIE(mysql_error());
}

sååårn :) nu mangler jeg kun list :S
Avatar billede -padde- Nybegynder
18. august 2004 - 20:40 #20
<?
include "../sql.php";
$hentnyheder = mysql_query("SELECT * FROM nyheder") OR DIE(mysql_error());

while($row = mysql_fetch_array($hentnyheder)) {
?>
<table border="0" width="100%" cellspacing="0" cellpadding="0">
  <tr>
    <td width="33%">Overskrift: <a href="rediger.php?id=<?=$row[id]?>"><?=$row[overskrift]?></a></td>
    <td width="34%">Af: <?=$row[af]?></td>
    <td width="33%">Dato: <?=$row[dato]?></td>
  </tr>
</table>
<?
}
?>

det var så liste :)
Avatar billede sone Nybegynder
18. august 2004 - 23:00 #21
Hvis id-feltet er et tal i din database (det ved jeg ikke om det er), så skal du ikke have ' omkring id:
...WHERE id = $_GET[id]")....
Avatar billede -padde- Nybegynder
18. august 2004 - 23:09 #22
hmm :S skummelt...det er et tal..og det virker endda :S
Avatar billede sone Nybegynder
19. august 2004 - 07:57 #23
hvis det virker, så er det jo perfekt!
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