![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 405 Pomógł: 6 Dołączył: 12.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Uczę się php i nie wiem jak pobrać id z adresu url.
Np. mam adres: http://localhost:81/biblioteka/polacz/id/1 Chciałbym pobrać to id w pliku xxxSuccess.php a nie w actions.class.php - tam wystarczyłoby użyć $request->getParameter('id'). A jak pobrać 'id' w pliku typu Success ? Próbowałem już nawet tradycyjnym sposobem z php: <?php echo $_GET["id"]; ?> Jednak w symfony adres url jest bez ?= i tak się nie da ![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 50 Pomógł: 6 Dołączył: 15.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
A po co ci w widoku takie dane? Przecież możesz sobie taką zmienna przekazać do widoku z kontrolera.
Ja ci polecam najpierw pojąć idee MVC, a potem dopiero zabierać się za cokolwiek. Pozdrawiam, Marcin. |
|
|
![]()
Post
#3
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
W widoku jest dostęp do kilku wybranych obiektów. Na przykład $sf_user czy $st_request
Możesz więc zrobić tak: $sf_request->getParameter('id') Mocno się jednak zastanów czy dobrze robisz odwołując sie do obiektu żądania wewnątrz widoku. Rzadko jest uzasadnienie. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 405 Pomógł: 6 Dołączył: 12.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Rozumiem już MVC.
Chodzi o to, że w xxxSuccess.php zrobiłem zwykły formularz w php, bo nie udawało mi się zrobić go przy pomocy formularzy symfony w pliku formularzForm.class. Gdybym go zrobił przy użyciu formularz symfony to wystarczyłoby w pliku actions zrobić:
A w pliku xxxSuccess:
Tymczasem ja zrobiłem formularz w zwyczajny sposób w pliku xxxSuccess.php i potrzebuję na końcu adresu url w 'form action' wstawić id książki. Rozumiecie o co mi chodzi ? ![]() |
|
|
![]()
Post
#5
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Tymczasem ja zrobiłem formularz w zwyczajny sposób w pliku xxxSuccess.php i potrzebuję na końcu adresu url w 'form action' wstawić id książki. Skoro wyświetlasz formularz związany z konkretną ksiązką to znaczy, że najprawdopodobniej ją masz. Czemu więc nie napiszesz $book->getId() ?
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 405 Pomógł: 6 Dołączył: 12.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Mike niestety nie mam. Bo zrobiłem w xxx.Success.php dwa formularze. Chodzi o to, że mam na głównej stronie wyświetlone książki i przydzielonych do nich autorów, obok każdej z nich dałem linka do następnej strony z formularzami, linka kończącego się identyfikatorem książki.
Na stronie xxx.Success.php zrobiłem formularz z select listą, w select liście są wyświetlani tylko autorzy przydzieleni do danej książki i można usuwać autorów (tylko nie usuwać autorów z tabeli Autorzy a z tabeli KsiazkiAutorzy - znaczy usuwać przydział), a na drugim formularzu jest druga select lista tylko z autorami nie przydzielonymi do danej ksiązki i za jej pomocą można przydzielać autorów do książki. Wyświetlane są w tych select listach oczywiście imiona i nazwiska tych autorów, a zwracane są ich identyfikatory. W action.class.php w funkcji index mam tylko:
A te funkcje getAutorzyPrzydzieleniKsiazce() i getAutorzyNiePrzydzieleniKsiazce() zwracają tylko id, imie i nazwisko z tabeli Autorzy a nie z tabeli Ksiazki. Więc raczej nie da rady chyba zrobić wg Twego sposobu opisanego w Twoim drugim poście chyba, że zmieniłbym zapytanie. Podsumowując: Zrobiłem wg Twego sposobu czyli Mike podanego w jego pierwszym poście a więc:
oraz
Funkcja 'submit' odpowiada u mnie za dodawanie autorów do ksiązki a submit2 za usuwanie autorów z książki. I działa - dziękuję ![]() ![]() ![]() Ten post edytował nieraczek 11.02.2009, 17:32:56 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 1.07.2025 - 17:11 |