Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] [MySQL} UPDATE do bazy
Forum PHP.pl > Forum > Przedszkole
ahilles107
mam problem z wysyłanie zedytowanyc danych do bazy danych.
  1. <? 
  2. if ($tytul && $tresc_krotka && $osoba && $tresc && $ok)
  3. if($ok=='TAK'){$ok=1;}
  4. if($ok=='NIE'){$ok=0;}
  5. //echo"ok=$ok";
  6.  
  7.  mysql_connect ("*****", "******", "******") or 
  8.  die ("Nie można poł&plusmn;czyć się z MySQL");
  9.  mysql_select_db ("********") or 
  10.  die ("Nie można poł&plusmn;czyć się z baz&plusmn; ********");
  11.  
  12. if($_POST['co'] == 'popraw'){ //poprawianie rekordu
  13. if ($_POST['tytul'] && $_POST['tresc_krotka'] && $_POST['tresc'] && $_POST['osoba'] && $_POST['ok']) {
  14. $query = "UPDATE news SET tytul='".$_POST['tytul']."' , tresc_krotka='".$_POST['tresc_krotka']."' ,tresc='".$_POST['tresc']."' ,osoba='".$_POST['osoba']."' ,ok='".$_POST['ok']."' WHERE nr='".$_POST['id']."';";
  15. $wynik = mysql_query ($query);
  16. }
  17.  
  18. if ($_GET['co'] == 'edytuj') {
  19. $query = "SELECT * FROM news WHERE nr='" .$_GET['id']."';";
  20.  
  21. $wynik = mysql_query ($query);
  22. $rekord = mysql_fetch_assoc($wynik) or die('Brak danych');
  23.  
  24. $nr = $rekord['nr'];
  25. $data = $rekord['data'];
  26. $tytul = $rekord['tytul'];
  27. $tresc_krotka = $rekord['tresc_krotka'];
  28. $tresc = $rekord['tresc'];
  29. $osoba = $osoba['osoba'];
  30. $ok = $rekord['ok'];
  31. <h3> Dodaj aktualno&para;ć:</h3>
  32. <FORM METHOD=POST>
  33. <b>Tytuł Aktualno&para;ci:</b><br>
  34. '; 
  35. echo '<INPUT TYPE=text NAME="tytul" value="'.$tytul.'"SIZE=60>';
  36. echo '<BR><br>
  37. <B>Nagłowek:</B><BR>';
  38. echo '<TEXTAREA NAME="'.$tresc_krotka.'" id="'.$tresc_krotka.'" ROWS=5 COLS=45>'.$tresc_krotka.'</TEXTAREA>';
  39. echo '<BR>
  40. <B>Pełna tre&para;ć:</B><BR>';
  41. echo '<TEXTAREA NAME="'.$tresc.'" id="'.$tresc.'"ROWS=10 COLS=45>'.$tresc.'</TEXTAREA><BR>';
  42. echo '<b>Autor:</B><br>';
  43. echo '<INPUT TYPE=text NAME="'.$osoba.'" value="'.$osoba.'"SIZE=60'.$osoba.'>';
  44. echo '<BR>
  45. <b> Pokazać aktualno&para;ć?</b>
  46. <a ALIGN=RIGHT><br>
  47. <select name=ok>
  48. <option>TAK
  49. <option>NIE
  50. </select><br><br>
  51. <INPUT TYPE=submit VALUE=popraw>
  52. </a>
  53.  </FORM>
  54. ';
  55. }
  56. ?>

sorqa za błędy z ć,ź itp ale coś mi formatowanie padło;/
misiek172
napisz co ci konkretnie nie działa, nikt nie będzie ci analizował całego kodu nie znająć błędu
ahilles107
nie mogę wysłać danych do bazy (problem jest pewnie z funkcją UPDATE)
bo formularz się uruchamia pobiera istniejące już dane umożliwia edycję ale nie zapisuje zmienionych danych ;/

możliwe też że gdy klikam na przycisk popraw nie odwołuje się on do funkcji "popraw" - nie wiem jak to zrobić


dopiero początkuje w php więc wybaczcie winksmiley.jpg
misiek172
<FORM METHOD=POST>

a skąd formularz ma wiedzieć dokąd to? może sprubuj:

<FORM METHOD="POST" ACTION="nazwa_tego_dokumentu.php">
Cienki1980
Sprawdź co zawiera tablica $_POST po wysłaniu formularza,
sprawdź czy $_POST['co'] ma taką wartość jaką być chciał, żeby była,
sprawdź czy wchodzisz do warunku if tam gdzie tworzysz zapytanie $query,
wyświetl zapytanie $query i sprawdź czy zadziała bezpośrednio w bazie ( np z poziomu phpmyadmina ).

To by było na tyle na początek sprawdzania.
ahilles107
Cytat(Cienki1980 @ 17.09.2007, 20:37:06 ) *
Sprawdź co zawiera tablica $_POST po wysłaniu formularza,
sprawdź czy $_POST['co'] ma taką wartość jaką być chciał, żeby była,
sprawdź czy wchodzisz do warunku if tam gdzie tworzysz zapytanie $query,
wyświetl zapytanie $query i sprawdź czy zadziała bezpośrednio w bazie ( np z poziomu phpmyadmina ).

To by było na tyle na początek sprawdzania.


a mozna by tak krok po kroku questionmark.gif przypomne iż jestem początkującym dopiero winksmiley.jpg
Cienki1980
Cytat(ahilles107 @ 18.09.2007, 15:56:49 ) *
a mozna by tak krok po kroku questionmark.gif przypomne iż jestem początkującym dopiero winksmiley.jpg

Początkujący początkującym, ale polecenia echo i print_r to chyba znasz questionmark.gif

No ale tłumaczę dokładniej:
1. na początku skryptu drukujesz zawartość tablicy $_POST .. print_r($_POST) ... a dla lepszego czytania echo "<pre>";print_r($_POST);echo "</pre>";
2. robisz echo $_POST['co'] - chociaż zawartość będzie widoczna po wykonaniu punktu pierwszego
3. w linii 12 kodu który pokazałeś w pierwszym poście zaczynasz pętle .. zamiast komentarza który tam masz wstaw echo "jakis tekst ";
jeżeli ten tekst się tam pojawi znaczy, że warunek wykonuje się dobrze
4. po linii 14 zrób echo $query i zobaczysz czy zapytanie się poprawnie tworzy

Jeszcze dokładniej questionmark.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.