Jdwind
1.11.2010, 14:29:59
Witam, może problem banalny, ale zatrzymał mnie z nauką. Chodzi o to, że w jednym skrypcie chcę zrobić dodanie albo edycję osób z bazy. Mam tabelę osoby, w której są: imie_nazwisko | czy_aktor | czy rezyser a wartości dla nich to np. Jan Kowalski | 0 | 1 . Teraz w skrypcie chciałbym, żeby - zależnie, czy edytuję dane czy dodaję, było tak: dla imie_nazwisko pobiera mi id osoby i w polu tekstowym wypisuje nazwisko (a jeśli dodaję, to pole puste), natomiast dla czy_aktor i czy_rezyser dostępne były dwie listy rozwijane z wartościami 0 i 1 (jeśli edytuję osobę, powinno być pobrane z bazy 0 albo 1 dla odpowiednich pól, jeśli dodaję domyślnie zaznaczone 0 albo pusta wartość z wpisem np. Czy aktor, Czy reżyser). Mam nadzieję, że nie zakręciłem za bardzo pytania.
Pozdrawiam
EDIT
w zasadzie wartości nie mają jakiegokolwiek znaczenia, bardziej zależy mi na zrozumieniu istoty działania, bo to jak na razie stanowi dla mnie największy problem.
Brick
1.11.2010, 18:34:31
Trochę ten opis zakręcony jest, ale zakładam że chodzi ci o standardowe działanie skryptu:
1. Wyświetlamy tabelkę z osobami
2. Dodajemy lub edytujemy nową osobę
3. Usuwamy istniejącą osobę
Dodanie lub edycja rekordu:
a) Pokazujemy formularz z odpowiednimi polami
b) Po wysłaniu formularza sprawdzenie wpisanych wartości
c) Jeżeli OK to insert do bazy
d) Jeżeli nie OK to powrót do formularza i komunikat o błędzie
Przy edycji rekordu jest ta różnica, że pobierasz dane z bazy dla określonego ID i wstawiasz je do formularza. Np:
<input type=text name=osoba value='$osoba'>
Gdzie $osoba to nazwisko osoby pobrane z bazy.
No i przy edycji zamiast insert robisz update.
Jeżeli o to ci chodzi ale nie wiesz jak to w praktyce zrobić to wstawię jakis prosty skrypt, który to zobrazuje.
Jdwind
2.11.2010, 13:07:00
Tak, zgadza się, tylko ja pisałem, że właśnie nie używam pól tekstowych tylko listy. I miałem zagwozdkę, jak pobrać dane (0 nie jest aktorem, 1 jest) i wyświetlić w liście - ale pozycje niepowtarzające się. Najpierw próbowałem z GROUP BY i to nie byłoby złe, tylko doszedłem do wniosku, że po co odpytywać bazę, żeby uzyskać dwie wartości - 0 i 1? No i dałem rozwijaną listę z dwiema wartościami option, natomiast samą bazę pytam na początku skryptu, więc wiem, czy przy danej osobie jest 0 czy 1 i nie było sensu znowu sprawdzać. Wiem, że to pewnie pokręciłem, no ale grunt, że mi działa

Pozdrawiam