Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PostgreSQL][SQL][PHP]Formularz nie wyswietla danych
Forum PHP.pl > Forum > Przedszkole
gafel88

Czesc

Mam klopocik. Zrobilem formularz ktory zapisuje dane do bazy i jest ok

Teraz chcialbym zrobic możliwość edycji zapisanych danych, i tu mam klopot.

Napisalem skrypt, ktory łączy się z baza. Dane sa wyswietlane jako text.

Natomiast jesli chce te same dane (ta sama zmienna) wyświetlić w polu formularza to nic sie nie dzieje

Załaczam fragment kodu



  1. <?
  2. $z_id_rekl = $_REQUEST['id_rekl'];
  3. $sql1 = "SELECT opis_klient
  4. FROM kub.tym_rekl_dodatkowe
  5. WHERE id_reklamacji = '$z_id_rekl'";
  6. $z_dane1 = pg_query($polaczenie, $sql1);
  7. while ($row = pg_fetch_row($z_dane1)) {
  8. //echo "$row[0]";
  9. }
  10. echo '<form><div>';
  11. echo '<textarea name="Komentarz" cols="50" rows="10">'.TEST.'</textarea>';
  12. echo '<p></p>';
  13. echo '<textarea name="Komentarz" cols="50" rows="10">'.$row[0].'</textarea>';
  14. echo '<br /><br /><br />';
  15. echo '<input type="reset" value="Wyczyść dane" />';
  16. echo '</div>';
  17. echo '</form>';
  18. ?>


I tak :
1. Pole formularza z wpisanym słowem "TEST" wyswietla ten tekst
2. Jak odremuje

[php]
echo "$row[0]";[
/php]

to dane tez sa wyswietlane czyli samo zapytanie jest ok

Co robie zle ?


b4rt3kk
To robisz źle, że pod zmienną $row masz tablicę dwuwymiarową. Spróbuj wstawić w textarea $row[0][0], powinno to dać jakieś efekty.
Gość
@b4rt3kk coś chyba pomieszałeś wink.gif

@gafel88 W pętli while (wiersze 7-9) przechodzisz przez zbiór wyników z bazy, po wyjściu z pętli zmienna $row jest ustawiona na false, zatem $row[0] powinien Ci zgłosić nieistniejący indeks (gdybyś miał włączone wyświetlanie błędów)

Z tego co widzę, to wynikiem zapytania jest jeden wiersz, zatem bardziej odpowiednia funkcja to pg_fetch_result. Niezależnie od funkcji, pętla while jest zupełnie niepotrzebna
gafel88
Faktycznie przekombinowałem ;-)

Poprawiłem według sugesti (gościa)

  1. <?
  2. $z_id_rekl = $_REQUEST['id_rekl'];
  3. $sql1 = "SELECT opis_klient
  4. FROM kub.tym_rekl_dodatkowe
  5. WHERE id_reklamacji = '$z_id_rekl'";
  6. $z_dane1 = pg_query($polaczenie, $sql1);
  7.  
  8. $row = pg_fetch_result($z_dane1,0);
  9. echo '<form><div>';
  10. echo '<p></p>';
  11. echo '<textarea name="Komentarz" cols="50" rows="10">'.$row.'</textarea>';
  12. echo '<br /><br /><br />';
  13. echo '<input type="reset" value="Wyczyść dane" />';
  14. echo '</div>';
  15. echo '</form>';
  16. ?>


I jest Ok

Dziekuje kliknałbym bym pomógł ale nia mam możliwości

Pozdrawiam

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.