[PHP/MySQL] Jak wyświetlić dane z tabeli do edycji?

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
sylbart
Posty: 4
Rejestracja: wt sty 31, 2006 1:42 am
Lokalizacja: Z domu

[PHP/MySQL] Jak wyświetlić dane z tabeli do edycji?

Post autor: sylbart »

Witam.
Proszę o trochę wyrozumiałości bo php i mysql-em zacząłem bawić się kilkanaście dni temu :roll:
Mam następujący problem, chciałbym pobrać sobie wybrany rekord z tablicy (to sprawa prosta), wyświetlić go w ten sposób aby możliwa była jego edycja (tu mam problem) i ponowne zapisanie (sprawa oczywista).
Jak to najłatwiej zrobić? Czy można zrobić aby poszczególne dane z pobranego rekord wpisane były w pola jak przy zwykłym formularzu? Może coś mi doradzicie?
Z góry dzięki.
Cotter
Nowy
Nowy
Posty: 69
Rejestracja: pn lut 06, 2006 3:11 pm

Re: [PHP/MySQL] Jak wyświetlić dane z tabeli do edycji?

Post autor: Cotter »

[php]<?php

//obsluga zmiany
if ($_GET[pole] != "")
mysql_query("UPDATE tabela SET pole=\"$_GET[pole]\"");
//pobranie danych z bazy
$w = mysql_query("SELECT * FROM tabela WHERE ..."); //pobranie danych
$r = mysql_fetch_assoc($w); //zwraca dane z pierwszego rekordu
$_GET[pole] = $r[pole];

//formularz
print "<form action=".$PHP_SELF." method=GET>";
print "<input type=text name=pole value=\"$_GET[pole]\">";
print "<input type=submit name=zmien value=zmien>";


?>[/php]

Tak mniej więcej wygląda ogólny schemat postępowania. Najpierw piszemy kod zmieniający dane, który będzie się odpalał, jeżeli nowe dane zostały przesłane. Potem piszemy kod pobierający dane do formularza. Na końcu wstawiamy formularz z odpowiednimi danymi. Trzeba również pamiętać o odpowiednich zabezpieczeniach i obsłudze błędów, czego tutaj nie zamieściłem.
sylbart
Posty: 4
Rejestracja: wt sty 31, 2006 1:42 am
Lokalizacja: Z domu

Re: [PHP/MySQL] Jak wyświetlić dane z tabeli do edycji?

Post autor: sylbart »

:-D
Jak będe miał chwilę to przetestuję...
Jeszcze raz dzięki za odzew...
ODPOWIEDZ