Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak update`ować newsy w bazie?
Forum PHP.pl > Forum > PHP
miedzna
Witam, mam taki kod, który mi wyświetla newsy z bazy danych:

  1. <TABLE CELLSPACING=0 CELLPADDING=4 WIDTH="600">

  1. <?php
  2. $db = mysql_connect (&#092;"localhost\", \"\", \"\");
  3. mysql_select_db (&#092;"pkzk\", $db);
  4. $sql = &#092;"select * from newsy order by 'data' desc\";
  5. $result = mysql_query($sql);
  6.  
  7. while ($row = mysql_fetch_array ($result)) {
  8. printf(&#092;"<tr><td bgcolor=\"#b5dbef\" class=\"tytul\">&nbsp;<a name=\"%s\"></a>%s</td></tr>n\", $row[\"news_id\"], $row[\"tytul\"]);
  9. printf(&#092;"<tr><td bgcolor=\"#fff3de\"><span class=\"data\">( %s )</span><BR>n\", $row[\"data\"]);
  10. printf(&#092;"<span class=\"tresc\">%s<BR><BR>%s</span><BR>&nbsp;<a href=\"javascript:window.close()\">zamknij...</a></td></tr><tr><td height=\"25\" bgcolor=\"#fff3de\"></td></tr>n\", $row[\"wstep\"], $row[\"tresc\"]);
  11. }
  12. ?>


No i mam problem, newsy ładnie się wyświetlają, tylko teraz pytanie, co zrobić, żeby móc edytować te newsy, czyli załadować je z bazy, wprowadzić ewentualne poprawki i zapisać poprawioną wersję do bazy?

Dzięki za podpowiedzi i pozdrawiam
peterj
  1. <?php
  2. mysql_connect (&#092;"localhost\", \"\", \"\");
  3. mysql_select_db (&#092;"pkzk\", $db);
  4. if(!isset($_POST['sent'])){
  5. $sql = &#092;"select * from newsy WHERE news_id = '$id'\";
  6. $result = mysql_query($sql);
  7. $row = mysql_fetch_array ($result);
  8. echo &#092;"<FORM ACTION=\"update.php\" METHOD=\"POST\">
  9. <INPUT TYPE=&#092;"HIDDEN\" NAME=\"id\" VALUE=\"$id\">
  10. Tytuł: <INPUT TYPE=&#092;"text\" NAME=\"tytul\" VALUE=\"$row[tytul]\">
  11. <BR />
  12. Treść:<BR />
  13. <TEXTAREA NAME=&#092;"tresc\">$row[tresc]</TEXTAREA>
  14. <BR />
  15. <INPUT TYPE=&#092;"submit\" NAME=\"sent\" VALUE=\"OK\">
  16. </FORM>&#092;";
  17. }else{
  18. $sql = &#092;"UPDATE newsy
  19.     SET tytul=$_POST[tytul], tresc=$_POST[tresc] WHERE $news_id=$_POST[id]&#092;";
  20. }
  21. ?>
miedzna
  1. <?php
  2. $db = mysql_connect (&#092;"localhost\", \"root\", \"\");
  3. mysql_select_db (&#092;"pkzk\", $db);
  4. if(!isset($_POST['sent'])){
  5. $sql = &#092;"select * from newsy WHERE news_id = '$id'\";
  6. $result = mysql_query($sql);
  7. $row = mysql_fetch_array ($result);
  8. echo &#092;"<FORM ACTION=\"edytuj.php\" METHOD=\"POST\"><INPUT TYPE=\"HIDDEN\" NAME=\"id\" VALUE=\"$id\">Tytuł: <INPUT TYPE=\"text\" NAME=\"tytul\" VALUE=\"$row[tytul]\"><BR />Wstęp:<BR /><TEXTAREA NAME=\"tresc\">$row[wstep]</TEXTAREA><BR>Treść:<BR /><TEXTAREA NAME=\"tresc\">$row[tresc]</TEXTAREA><BR /><INPUT TYPE=\"submit\" NAME=\"sent\" VALUE=\"OK\"></FORM>\";
  9. }else{
  10. $sql = &#092;"UPDATE newsy SET tytul=$_POST[tytul], wstep=$_POST[wstep], tresc=$_POST[tre
    sc] WHERE $news_id=$_POST[id]\";
  11. }
  12. ?>


no tak, ale skąd wiem, jaki news edytuję ?
peterj
Przekazujesz id newsa do pliku update.php
i tam wyciągasz z bazy tego newsa do formularza, dokonujesz zmian i potem w zapytaniu używasz UPDATE.
  1. <?php
  2. $sql = &#092;"UPDATE newsy SET tytul=$_POST[tytul], wstep=$_POST[wstep], tresc=$_POST[tre
    sc] WHERE $news_id=$_POST[id]\";
  3. ?>


UPDATE > mysql.com
miedzna
Dalej nie kumam smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.