![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 80 Pomógł: 0 Dołączył: 15.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
Na podstawie pętli foreach wyświetlam rekordy w tabelce, tylko, że chciałbym dodać dodatkową funkcjonalność, przy każdym rekordzie ma być lista rozwijana w której będzie opcja do wyboru (W tym przypadku wolny/zajęty). Po wybraniu opcji naciskam button i nadpisuje określoną wartość w bazie danych.
Kod case "test": $tabela = DatabaseManager::selectBySQL("SELECT * FROM users1"); print'<table border="10"><tr><td>Imię i nazwisko</td><td>E-mail</td><td>Telefon</td><td>Adres</td>'; foreach($tabela as $tabele ) { print'<tr><td>'.$tabele['fullname'].' </td><td>'.$tabele['mail'].' </td><td>'.$tabele['telefon'].' </td> <td>'.$tabele['STAN'].' <form name="form" id="form" action="update" method="POST"> <select name="STAN" class="work1"> <option value="wolny">wolny</option> <option value="zajęty">zajęty</option> </select></td></tr>'; $_SESSION['stan1'] = $tabele['id']; #id uzytkownika z bazy } print'</table>'; print' <br /><br /> <input type="submit" name="submit-form" class="submit-form" value="Zarejestruj" /> </form> break; Za pomocą POSTA przesyłam dane do metody update w "usermanagerze": Kod public function Update($POST) { if(isset($POST) && is_array($POST)) { $res = DatabaseManager::updateTable("users1", array("STAN"=>$POST['STAN']),array("id"=>$_SESSION['stan1'])); #tabela kolumna tabeli where id=stan1 if($res) { return true; } else { return false; } } else { return false; } Całość przekierowuję do pliku update: Kod <?php if(isset($_POST['STAN'])) { $um = new UserManager; $res = $um->Update($_POST); if($res) { echo'succes'; } else { die("Utworzenie użytkownika nie było możliwe!"); } } else { die("DOSTĘP DO TEJ STRONY ZOSTAŁ ZABLOKOWANY PRZEZ ADMINISTRATORA!"); } ?> Problem jest następujący: W tabelce po zmianie listy rozwijanej działa update ale tylko dla ostatniego rekordu, dla poprzednich nie. Trzeba byłoby każde id użytkownika w foreachu jakoś przeiterować i zapisać do zmiennych, ale nie wiem do końca jak to zrobić, chciałem to zrobić na zmiennych sesyjnych no ale tak raczej się nie da jak teraz mam bo zapisuje tylko ostatni element, nadpisuje pozostałe elementy $_SESSION['stan1'] = $tabele['id'] co pokazuje tabelka: (IMG:http://bjdm.home.pl/kreator/demo.png) Ten post edytował martinii007 19.12.2011, 21:04:12 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 80 Pomógł: 0 Dołączył: 15.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
Takiego podobnego ifa już mam i działa, chodzi o coś innego. Żeby zamiast tych butonów które są na screenie zrobić jeden który aktualizował by wartość statusu. Jak będę miał coraz więcej rekordów, jest to uciążliwe jeśli za każdym razem trzeba najpierw zmienić status na dostepny/zajety i pozniej klikać. Chcę żeby był jeden buton całkiem na dole i gdy go nacisne to mi zaktualizuje wszystkie wartości w polu Dostępność.
(IMG:http://bjdm.home.pl/kreator/demo3.png) Moją pętla tworzy za każdem razem post z butonem i jest tam id, nie wiem jak zgromadzić tyle powiązanych ze sobą id z stringiem dostępności i wprowadzić je do bazy. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 16:11 |