![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 21.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Znów mam problem z PHP. Wyciągam rekordy z bazy:
Wszystko śmiga, ale problem w tym że muszę dla 10 kategorii wyciągnąć rekordy i gdybym chciał to zrobić znanymi mi sposobami, musiałbym ten skrypt napisać jeszcze 10x i zmienić tylko nazwy zmiennych na kolejne... Czy mógłbym tak zrobić, że wziąć jeden skrypt w pętle FOR i utworzyć jakby zmienną w zmiennej? Działałoby to tak, że w pętli byłaby dodatkowa zmienna która za każdym 'okrążeniem' powiększała by się o 1, aż do 10. Zmienną tą wstawiłbym w te poprzednie zmienne: $cat{tutaj ta zmienna}_list, $c{tutaj ta zmienna}_res itp. Czy można tak wstawić w jedną zmienną drugą, żeby to normalnie działało? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 429 Pomógł: 195 Dołączył: 6.10.2008 Skąd: Kraków/Tomaszów Lubelski Ostrzeżenie: (0%) ![]() ![]() |
tak
przed petla $i=0; w petli echo $wynik['category_'.$i]; //wynik z mysql, przyklad $i++; |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 21.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Co jest źle? Chwile działało jakby, a teraz znowu wywala błąd: Parse error: syntax error, unexpected T_STRING in /home/accounts_b/bulkas/public_html/browse.php on line 48 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 21.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
No to jak to powinno wyglądać?
Chcę osiągnąć taki efekt jak opisałem w pierwszym poście. |
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Zrób nieco optymalizacji (IMG:style_emoticons/default/smile.gif) Po co przechowywać wynik dziesięciu zapytań, skoro możesz jednym pobrać wszystko i potem tylko jedna pętla (IMG:style_emoticons/default/winksmiley.jpg)
To czy użyjesz tylko ciągu, tablicy, czy wycąigniesz jedynie do tablicy id i nazwę kategorii a potem podczas robienia całego select uzupełnisz w pętli while brakujące pola to Twój wybór. Jak widzisz możliwości jest minimum 3 (IMG:style_emoticons/default/winksmiley.jpg) a to jakie id pchniesz to Twoja sprawa i jak. Możesz użyć na sztywno w ciągu jak ja, ale rónie dobrze wyciągnąć podzapytaniem w samym SQL. Znów możliwości jest kilka (IMG:style_emoticons/default/smile.gif) EDIT: Bym zapomniał... Jeśli chcesz wyrzucić powtarzające się ( nie znam truktury bazy więc może się coś powtarzać ) to użyj DISTINCT we właściwym miejscu. Ten post edytował thek 11.11.2009, 14:30:20 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 21.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki.
Mam jeszcze jedno pytanie, chyba ostatnie (IMG:style_emoticons/default/biggrin.gif) Chciałbym żeby pobierało z adresu strony liczbę: I według pobranej zmiennej zaznaczało odpowiednią pozycję w selectbox. Napisałem takie coś: (fragment)
I teraz zastanawiam się co jest nie tak, bo nie działa. |
|
|
![]()
Post
#8
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
To nie działa, bo zmienna zawierająca napis selected jest czyszczona zaraz po wyjściu z warunku IF, gdyż jest zmienną lokalną. By dopisywało musisz dopisać to wewnątrz option lub zrobić ją jako lokalną dla WHILE, a jednocześnie globalną dla IF. Albo więc:
Albo trójkowy operator czyli alternatywna forma IF (chodzi o zapis by uniknąć tyle klamerek):
Ten post edytował thek 11.11.2009, 16:45:32 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 14:14 |