Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Edycja Newsa Baza
Forum PHP.pl > Forum > PHP
rneo23
Mam taki kod
  1. <?
  2. include('../naglowek.php');
  3. ?>
  4. <div id="tytul"><p><br><strong>Edytuj newsa</strong></p></div>
  5. <?
  6. require('../funkcje/db_connect.php');
  7. if($_GET)
  8. {
  9. $newsid=$_GET['newsid'];
  10. $sql="SELECT autor,tytul,tresc FROM newsy WHERE id=$newsid;";
  11. $query=mysql_query($sql);
  12. while($result=mysql_fetch_assoc($query))
  13. {
  14. $pobranyautor=$result['autor'];
  15. $pobranytytul=$result['tytul'];
  16. $pobranatresc=$result['tresc'];
  17. }
  18. }
  19. if($_POST)
  20. {
  21. echo("jesss!");
  22. $title=$_POST['tytul'];
  23. $text=$_POST['tekst'];
  24. $author=$_POST['autor'];
  25. echo($title);
  26. echo($text);
  27. echo($author);
  28. $sql='UPDATE newsy SET autor="'.$author.'",tytul="'.$title.'",tresc="'.$text.'";';
  29. $query=mysql_query($sql);
  30. $result=mysql_fetch_assoc($query);
  31. }
  32. ?>
  33. <form name="news" method="post" action="<? echo($_SERVER['SCRIPT_NAME']); ?>">
  34. <div id="news"><br>
  35. <p>Tytuł newsa:<br>
  36. <input type="text" name="tytul" value="<? echo($pobranytytul); ?>"><br></p>
  37. <p>Treść newsa:<br>
  38. <textarea name="tekst" rows="5" cols="59"><? echo($pobranatresc); ?></textarea><br></p>
  39. <p>Autor:<br>
  40. <input type="text" name="autor" value="<? echo($pobranyautor); ?>"><br></p></div>
  41. <div id="status"><br><p><input type="reset" value="Wyczyść"> 
  42. <? 
  43. echo($title);
  44. echo($text);
  45. echo($author);
  46. ?><input type="submit" value="Wyślij"></div>
  47. </form>
  48. <?
  49. include('../menu.php');
  50. include('../stopka.php');
  51. ?>


Działa tylko ze zle zapisuje, tzn pod wszystkie inne newsy a nie aktulanie zmieniany

Pomozcie
c0cr0ach
Jeśli to jest Twoja ostateczna wersja kodu, to nie aktualizuje on bazy, dlatego, że masz zahashowane zapytanie z update'em.
rneo23
Tzn można szersze wytlumaczenie
pierwszy raz bawie sia baza, ma juz dodawanie newsa i jego usuwanie, ale nie wiem jak edytowac ?
nospor
Cytat
pod wszystkie inne newsy a nie aktulanie zmieniany
No bo przeciez nie dales zadnego warunku okreslającego jaki rekord ma ci zmieniac. Ty myslisz ze baza czyta ci w myslach i wie o jaki rekord ci chodzi?

Slowo kluczowe: where
  1. UPDATE ...... WHERE ....
rneo23
Teraz mam tak i teraz nic nie robi questionmark.gif

  1. <?
  2. include('../naglowek.php');
  3. ?>
  4. <div id="tytul"><p><br><strong>Edytuj newsa</strong></p></div>
  5. <?
  6. require('../funkcje/db_connect.php');
  7. if($_GET)
  8. {
  9. $newsid=$_GET['newsid'];
  10. $sql="SELECT autor,tytul,tresc FROM newsy WHERE id=$newsid;";
  11. $query=mysql_query($sql);
  12. while($result=mysql_fetch_assoc($query))
  13. {
  14. $pobranyautor=$result['autor'];
  15. $pobranytytul=$result['tytul'];
  16. $pobranatresc=$result['tresc'];
  17. }
  18. }
  19. if($_POST)
  20. {
  21. $title=$_POST['tytul'];
  22. $text=$_POST['tekst'];
  23. $author=$_POST['autor'];
  24. $sql='UPDATE newsy WHERE id=$newsid SET autor="'.$author.'",tytul="'.$title.'",tresc="'.$text.'";';
  25. $query=mysql_query($sql);
  26. $result=mysql_fetch_assoc($query);
  27. }
  28. ?>
  29. <form name="news" method="post" action="<? echo($_SERVER['SCRIPT_NAME']); ?>">
  30. <div id="news"><br>
  31. <p>Tytuł newsa:<br>
  32. <input type="text" name="tytul" value="<? echo($pobranytytul); ?>"><br></p>
  33. <p>Treść newsa:<br>
  34. <textarea name="tekst" rows="5" cols="59"><? echo($pobranatresc); ?></textarea><br></p>
  35. <p>Autor:<br>
  36. <input type="text" name="autor" value="<? echo($pobranyautor); ?>"><br></p></div>
  37. <div id="status"><br><p><input type="reset" value="Wyczyść"> 
  38. <? 
  39.  
  40. ?><input type="submit" value="Wyślij"></div>
  41. </form>
  42. <?
  43. include('../menu.php');
  44. include('../stopka.php');
  45. ?>
nospor
ale zajrzyj do manuala mysql i zobacz jaka jest poprawna skladania UPDATE w polaczeniu z where.
marcio
klauzula where ma byc chyba na koncu zapytania
rneo23
Jak ten Update ma wygladac?
nospor
Cytat
Jak ten Update ma wygladac?

Napisalem wyraźnie: zajrzyj do manuala. Lenia masz, niechce się? Pomoge ci wiec: zamykam bys mogl w spokoju zajrzec do tego manuala

Jak już spojrzysz i bedziesz mial jeszcze jakies problemy, chetnie odpowiem na nie na PW

edit: otwieram
rneo23
  1. <?
  2. include('../naglowek.php');
  3. ?>
  4. <div id="tytul"><p><br><strong>Edytuj newsa</strong></p></div>
  5. <?
  6. require('../funkcje/db_connect.php');
  7. if($_GET)
  8. {
  9. $newsid=$_GET['newsid'];
  10. $sql="SELECT id,autor,tytul,tresc FROM newsy WHERE id=$newsid;";
  11. $query=mysql_query($sql);
  12. while($result=mysql_fetch_assoc($query))
  13. {
  14. $pobranyid=$result['id'];
  15. $pobranyautor=$result['autor'];
  16. $pobranytytul=$result['tytul'];
  17. $pobranatresc=$result['tresc'];
  18. }
  19. }
  20. if($_POST)
  21. {
  22. $title=$_POST['tytul'];
  23. $text=$_POST['tekst'];
  24. $author=$_POST['autor'];
  25. $newsid=$_POST['id'];
  26. $sql='UPDATE newsy SET autor="'.$author.'",tytul= "'.$title.'",tresc="'.$text.'" WHERE id="'.$newsid.'"';
  27. $query=mysql_query($sql);
  28. $result=mysql_fetch_assoc($query);
  29. }
  30. ?>
  31. <form name="news" method="post" action="<? echo($_SERVER['SCRIPT_NAME']); ?>">
  32. <div id="news"><br>
  33. <p>ID newsa: <? echo($pobranyid); ?></p>
  34. <p>Tytuł newsa:<br>
  35. <input type="text" name="tytul" value="<? echo($pobranytytul); ?>"><br></p>
  36. <p>Treść newsa:<br>
  37. <textarea name="tekst" rows="5" cols="59"><? echo($pobranatresc); ?></textarea><br></p>
  38. <p>Autor:<br>
  39. <input type="text" name="autor" value="<? echo($pobranyautor); ?>"><br></p></div>
  40. <div id="status"><br><p><input type="reset" value="Wyczyść"> 
  41. <? 
  42.  
  43. ?><input type="submit" value="Wyślij"></div>
  44. </form>
  45. <?
  46. include('../menu.php');
  47. include('../stopka.php');
  48. ?>


Tak to wyglada i wciaz nie wiem czemu ID nie pobiera, cos musi byc nie tak ? sad.gif Prosze o pomoc
Domin
Przecież masz źle zrobione zapytanie. Nie pobierasz w ogóle danych z bazy to zapytanie jest złe.
rneo23
No własnie mam stym problem, nie wiem jak je pobrac ?
Domin
Powinno być tak, nie sprawdzałem, tak na szybko.

  1. <?
  2. include('../naglowek.php');
  3. ?>
  4. <div id="tytul"><p><br><strong>Edytuj newsa</strong></p></div>
  5. <?
  6. require('../funkcje/db_connect.php');
  7.  
  8. if($_POST['action'] == "update" )
  9. {
  10. $query="UPDATE newsy SET autor='{$_POST['autor']}', tytul='{$_POST['tytul']}', tresc='{$_POST['tresc']}' WHERE newsid='{$_POST['news_id']}';
  11. $result=mysql_query($query);
  12. if(mysql_affected_rows()==1){ echo 'Dane dodane'; } else { echo 'Danie nie dodane'; }
  13. }
  14.  
  15. $query="SELECT autor, tytul, tresc FROM newsy WHERE id='{$_GET['newsid']}'";
  16. $result=mysql_query($query);
  17. $row = mysql_fetch_array($result);
  18.  
  19. ?>
  20. <form name="news" method="post" action="<? echo($_SERVER['SCRIPT_NAME']); ?>">
  21. <input type="hidden" name="action" value="update">
  22. <input type="hidden" name="news_id" value="<? echo $_GET['newsid']; ?>">
  23. <div id="news"><br>
  24. <p>Tytuł newsa:<br>
  25. <input type="text" name="tytul" value="<? echo $row['tytul']; ?>"><br></p>
  26. <p>Treść newsa:<br>
  27. <textarea name="tekst" rows="5" cols="59"><? echo $row['tekst']; ?></textarea><br></p>
  28. <p>Autor:<br>
  29. <input type="text" name="autor" value="<? echo $row['autor']; ?>"><br></p></div>
  30. <div id="status"><br><p><input type="reset" value="Wyczyść">
  31. <?
  32.  
  33. ?><input type="submit" value="Wyślij"></div>
  34. </form>
  35. <?
  36. include('../menu.php');
  37. include('../stopka.php');
  38. ?>
rneo23
Cos nie działa, pisze "Danie nie dodane"
MajareQ
Kod
WHERE newsid='{$_POST['news_id']}'


powinno być raczej

Kod
WHERE newsid='$_GET['newsid']'
rneo23
Wywala bład
Kod
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in


  1. <?
  2. include('../naglowek.php');
  3. ?>
  4. <div id="tytul"><p><br><strong>Edytuj newsa</strong></p></div>
  5. <?
  6. require('../funkcje/db_connect.php');
  7.  
  8. if($_POST['action'] == "update" )
  9. {
  10. $query="UPDATE newsy SET autor='{$_POST['autor']}', tytul='{$_POST['tytul']}', tresc='{$_POST['tresc']}' WHERE newsid='{$_POST['news_id']}'";
  11. $result=mysql_query($query);
  12. if(mysql_affected_rows()==1){ echo '<div id="news"><p>News został zmieniony</p></div>'; } else { echo '<div id="news"><p>News nie został zmieniony</p></div>'; }
  13. }
  14.  
  15. $query="SELECT autor,tytul,tresc FROM newsy WHERE id='{$_GET['newsid']}'";
  16. $result=mysql_query($query);
  17. $row = mysql_fetch_array($result);
  18.  
  19. ?>
  20. <form name="news" method="post" action="<? echo($_SERVER['SCRIPT_NAME']); ?>">
  21. <input type="hidden" name="action" value="update">
  22. <input type="hidden" name="news_id" value="<? echo $_GET['newsid']; ?>">
  23. <div id="news"><br>
  24. <p>Tytuł newsa:<br>
  25. <input type="text" name="tytul" value="<? echo $row['tytul']; ?>"><br></p>
  26. <p>Treść newsa:<br>
  27. <textarea name="tekst" rows="5" cols="59"><? echo $row['tresc']; ?></textarea><br></p>
  28. <p>Autor:<br>
  29. <input type="text" name="autor" value="<? echo $row['autor']; ?>"><br></p></div>
  30. <div id="status"><br><p><input type="reset" value="Wyczyść">
  31. <?
  32.  
  33. ?><input type="submit" value="Wyślij"></div>
  34. </form>
  35. <?
  36. include('../menu.php');
  37. include('../stopka.php');
  38. ?>
rneo23
Poprawione

Czy nikt nie wie jak się stym uporać questionmark.gif sad.gif
MajareQ
rneo do Ciebei nie dociera co piszę?? tongue.gif

lnia 10:
Kod
$query="UPDATE newsy SET autor='{$_POST['autor']}', tytul='{$_POST['tytul']}', tresc='{$_POST['tresc']}' WHERE newsid='{$_POST['news_id']}'";


ma być

Kod
$query="UPDATE newsy SET autor='{$_POST['autor']}', tytul='{$_POST['tytul']}', tresc='{$_POST['tresc']}' WHERE newsid='{$_GET['newsid']}';";


a jak nie zadziała to

Kod
$query="UPDATE newsy SET autor='".$_POST['autor']."', tytul='".$_POST['tytul']."', tresc='".$_POST['tresc']."' WHERE newsid='".$_GET['newsid']."';";
rneo23
Oba kody nic nie robią wciaz mam ten komunikat co jest zapisany "News nie został zmieniony" oprócz tego zadnych zmian nie robi
  1. <?
  2. include('../naglowek.php');
  3. ?>
  4. <div id="tytul"><p><br><strong>Edytuj newsa</strong></p></div>
  5. <?
  6. require('../funkcje/db_connect.php');
  7.  
  8. if($_POST['action'] == "update" )
  9. {
  10. $query="UPDATE newsy SET autor='".$_POST['autor']."', tytul='".$_POST['tytul']."', tresc='".$_POST['tresc']."' WHERE newsid='".$_GET['newsid']."';";
  11. $result=mysql_query($query);
  12. if(mysql_affected_rows()==1){ echo '<div id="news"><p>News został zmieniony</p></div>'; } else { echo '<div id="news"><p>News nie został zmieniony</p></div>'; }
  13. }
  14.  
  15. $query="SELECT autor,tytul,tresc FROM newsy WHERE id='{$_GET['newsid']}'";
  16. $result=mysql_query($query);
  17. $row = mysql_fetch_array($result);
  18.  
  19. ?>
  20. <form name="news" method="post" action="<? echo($_SERVER['SCRIPT_NAME']); ?>">
  21. <input type="hidden" name="action" value="update">
  22. <input type="hidden" name="news_id" value="<? echo $_GET['newsid']; ?>">
  23. <div id="news"><br>
  24. <p>Tytuł newsa:<br>
  25. <input type="text" name="tytul" value="<? echo $row['tytul']; ?>"><br></p>
  26. <p>Treść newsa:<br>
  27. <textarea name="tekst" rows="5" cols="59"><? echo $row['tresc']; ?></textarea><br></p>
  28. <p>Autor:<br>
  29. <input type="text" name="autor" value="<? echo $row['autor']; ?>"><br></p></div>
  30. <div id="status"><br><p><input type="reset" value="Wyczyść">
  31. <?
  32.  
  33. ?><input type="submit" value="Wyślij"></div>
  34. </form>
  35. <?
  36. include('../menu.php');
  37. include('../stopka.php');
  38. ?>
rneo23
Nic nie dział, czy są tu jacys profesionaliści questionmark.gif Bo narazie żadna pomoc, była nie prawidło, zadnych efektów.
Ja zaczynam juz sie poddawac, zeby tak trudno zrobic edycje newsa sad.gif
MajareQ
Obrażasz nas, jedynych, którzy ci pomagają... tym nie zyskasz pomocy.

Nie będę tego za Ciebie pisał... jak nie umiesz myśleć to nie bierz się za to...
nie będziemy ci każdego kroku po koleji tłumaczyć... pomyśl, rusz głową... w końcu po coś musisz jej użyć...
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.