Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Tabela w trybie edycji i zapis zmienionych danych
Forum PHP.pl > Forum > Gotowe rozwiązania
tomekn
Witam szanownych klubowiczów mam następujący problem. Wyświetlam sobie zawartość tabeli w formularzu w trybie edycji. Robię to tak:

  1. <? 
  2. include 'config.inc'; 
  3. //*********************** Wykonanie zapytania do bazy 
  4. echo &#092;"<div align=center>Uprawnienia userów<b>$wybierz_grupe</b><br><br></div>\"; 
  5. $szukaj_grupe=&#092;"SELECT username , first_name , last_name , email , uprawnienia FROM users\"; 
  6. mysql_select_db($nbaza, $link); 
  7. $wynik = mysql_query($szukaj_grupe,$link); 
  8. $wierszy = mysql_num_rows($wynik); 
  9. $pol = mysql_num_fields($wynik); 
  10. echo &#092;"<table width=800 cellpadding=0 border=1px bordercolor=#CCCCCC align=center>\"; 
  11. echo &#092;"<td bgcolor=#666666><div align=center><b>Username</b></td></div>\"; 
  12. echo &#092;"<td bgcolor=#666666><div align=center><b>Imie</b></td></div>\"; 
  13. echo &#092;"<td bgcolor=#666666><div align=center><b>Nazwisko</b></td></div>\"; 
  14. echo &#092;"<td bgcolor=#666666><div align=center><b>Email</b></td></div>\"; 
  15. echo &#092;"<td bgcolor=#666666><div align=center><b>Uprawnienia</b></td></div>\"; 
  16. for ($i=0;$i<$wierszy;$i++) { 
  17. $wiersz = mysql_fetch_row($wynik); 
  18. echo &#092;"<tr>\"; 
  19. echo &#092;" <form name=upraw method=post action=>\"; 
  20. for ($j=0;$j<$pol;$j++) 
  21. echo &#092;"<td><input type=text name=textfield style=border:1px font-family: Arial size=23 value=$wiersz[$j]></td>\"; 
  22. echo &#092;"</tr>\"; 
  23. } 
  24. echo &#092;"</table>\"; 
  25. echo &#092;"<br>\"; 
  26. //$zmianax = mysql_query($sqlx = \"UPDATE users SET data=$wiersz[$j]\", $link); 
  27. echo &#092;"<div align=center><input type=submit name=Submit value=Wyślij></div>\"; 
  28. echo &#092;"</form>\"; 
  29.  
  30. ?>


Jednak za groma nie wiem jak tak wyświetlone i ewentualnie zmienione (zaktualizowane) dane zapisać w tej samej tabeli. Dziekuje za pomoc.
MarcinZ
Mam takie małe pytanie czy chodzi tobie o to by dane z formularza zaktualizować czy tylko wyświetlić ja na stronie... Bo jeżeli chcesz aktualizować to dane w tabeli o konkretnym użytkowniku powinny być wyświetlone albo w <input type="....."> w zależności jakie są to dane lub w czymś takim podobny, lub jeżeli jest to grupa użytkowników to tylko liste wyboru, która będzie zmieniać..

w najprostrzy sposób wykorzystuje sie do tego polecenie UPDATE z języka SQL jeżeli mają to być dane w bazie danych.... kod będzie wyglądać np.:
  1. UPDATE `tabela` SET `rzecz_do_poprawy` = 'Dane.......' WHERE `id_tego_czego_zmieniamy` = 'numer'


i to wyglada w ten sposob.. mozna przy pomocy polecenie UPDATE zmieniac naraz w kilku tabelach ale dokladniej o tym jest w manualu...
tomekn
Najpierw wyswietlam sobie tabele w formularzu za pomoca for (...) (Wynikiem tej operacji jest kilka wierszy z danymi userow dane te sa umieszczone w formularzu pole typu text) Nastepnie chce jesli ktos dokona zmian np. zmieni nazwisko usera zeby tabela zostala zaktualizowana. Czy aktualizacja bedzie dotyczyc całej tabeli czy tylko wiersza gdzie dokonano zmian nie jest dla mnie istotne. Ważne jest aby zmiany zostały wprowadzone. Nie bardzo wiem jak teraz skonstruowac polecenie UPDATE tak aby nastapila aktualizacja jak zdefiniowac zmienne do aktualizacji. Czy w ' ' nazwy zmiennych to nazwa_pola='$wiersz[0]', inne_pole='$wiersz[1]. bo chyba cos takiego jest zle
  1. <?php
  2. $zmianax = mysql_query($sqlx = &#092;"UPDATE users SET data=$wiersz[$j]\", $link); 
  3. ?>

Probuje i cos mi nie dziala nie bardzo to kumam.
MarcinZ
Mam pytanie czemu ty to na tablicach array robisz nielepiej jak juz pominac je latwiej i wygodniej
cos takiego :
  1. <?php
  2. $zmianax = mysql_query($sqlx = &#092;"UPDATE users SET data=$textfeild WHERE = '$id' \", $link); 
  3. ?>

tylko musisz dodac by formularz wysylal zmienna id oraz to co ma byc dodane...
i te dwie zmienne jako globalne muszisz ustawic..

global $id, $textfeild;

czy jaoś tak ta druga się zwie..

a i zawsze wiedz ze jak uzywasz <input> to pod name=textfeild sa wysylane dane z formularza jako zmienna idlatego ci nie dodawalo..
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-2024 Invision Power Services, Inc.