![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 442 Pomógł: 4 Dołączył: 28.12.2008 Skąd: Warszawa Ostrzeżenie: (20%) ![]() ![]() |
Witam, wiem ze to jest ze tak powiem dziecinne pytanie ale pisząc skrypty nigdy sie nadtym nie zastanawiałem:
Czy jest możliwosć wyjscia ze zmianna poza while ale zeby dalej były wszytskie rekordy wyswietlane np.
i tak bedzie wszystko ok wypisze mi wszytsko ale chciałbym np. zrobić tak lecze wiem ze to nie zadziała:
Jest jakas mozliwosc ![]() -------------------- Życie jest jak SESJA kiedyś wygaśnie ....
Jeśli moja odpowiedź jakoś Cię nakierowała lub pomogła kliknij Pomógł |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 289 Pomógł: 77 Dołączył: 5.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
można tak, można inaczej -------------------- awake
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 442 Pomógł: 4 Dołączył: 28.12.2008 Skąd: Warszawa Ostrzeżenie: (20%) ![]() ![]() |
No nie działa tak jak bym chciał
![]() -------------------- Życie jest jak SESJA kiedyś wygaśnie ....
Jeśli moja odpowiedź jakoś Cię nakierowała lub pomogła kliknij Pomógł |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 289 Pomógł: 77 Dołączył: 5.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
a jak byś chciał ?
-------------------- awake
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 442 Pomógł: 4 Dołączył: 28.12.2008 Skąd: Warszawa Ostrzeżenie: (20%) ![]() ![]() |
tak jak wyzej napisałem a tak sie niedzieje próbowałem już tak wczesniej
Zna ktos jakies rozwiazanie na w.w problem ![]() ![]() -------------------- Życie jest jak SESJA kiedyś wygaśnie ....
Jeśli moja odpowiedź jakoś Cię nakierowała lub pomogła kliknij Pomógł |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
można, zadziała, dalczego sam nie sprawdzisz?
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 442 Pomógł: 4 Dołączył: 28.12.2008 Skąd: Warszawa Ostrzeżenie: (20%) ![]() ![]() |
Skoro mówie ze nie działa to logiczne ze sprawdzałem ;/....
-------------------- Życie jest jak SESJA kiedyś wygaśnie ....
Jeśli moja odpowiedź jakoś Cię nakierowała lub pomogła kliknij Pomógł |
|
|
![]()
Post
#8
|
|
![]() Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków ![]() |
albo wrzucasz wszystko do tablicy, albo w sesjach/cookisach zapisujesz, ja proponuje tablice - przykład patrz post ~wNogachSpisz.
-------------------- |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 442 Pomógł: 4 Dołączył: 28.12.2008 Skąd: Warszawa Ostrzeżenie: (20%) ![]() ![]() |
NO to mi tylko jedna wartosc wyciąga ;/ bo jest
moge dac ale to mija sie z celem ;/ no alebo foreach tak sao chodzi mi aby nie bylo petli zeby mógł to do inserta wrzucic tak na marginesie a sprawdzałem printem i w tablicy mam wszystko co potrzebuje a nie moge uzyc petli foreach a zapisz w.w tez nie bo niewiem ile danych bedzie wiec juz sam nie wiem jak z tego whila wycignac poza ;/ Jak moge to rozwiazac ;/ stanołem w miejscu na koncu praktycznie i nieiwme jak to wykonac -------------------- Życie jest jak SESJA kiedyś wygaśnie ....
Jeśli moja odpowiedź jakoś Cię nakierowała lub pomogła kliknij Pomógł |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Ale Wy kombinujecie... Słyszał który o mysql_result?
Podajesz resource wyciągnięty z bazy, index wiersza, index kolumny i wszystko. Czyli patrząc na przykład, coś takiego: zwróci wynik 4 wiersza i 3 kolumny wyniku, bo numerowanie jest od 0 Nie da się tak, że $asd poza while będzie zawierało jeden wynik spośród wszystkich wierszy. Wróżkę masz czy co? Skąd komp ma wiedzieć, że chodzi Ci o kolumnę jakąś tam z wiersza 10, a nie na przykład 5? Albo wyciągasz całą kolumnę, albo nic. Nawet licznik $i niepotrzebny.
-------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 442 Pomógł: 4 Dołączył: 28.12.2008 Skąd: Warszawa Ostrzeżenie: (20%) ![]() ![]() |
no tak ale ja chce odczytac zminna $aJakas poza while ze wszytskimi wynikami ;/
-------------------- Życie jest jak SESJA kiedyś wygaśnie ....
Jeśli moja odpowiedź jakoś Cię nakierowała lub pomogła kliknij Pomógł |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 289 Pomógł: 77 Dołączył: 5.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
wiesz co, może ty napisz co konkretnie chcesz zrobić, bo być może istnieje inne rozwiązanie problemu. Gdzieś tam piszesz, że chcesz zrobić insert z danych, może bardziej pomocne było by zapytanie insert-select niż wyciąganie danych poza pętlę, ale tylko strzelam.
-------------------- awake
|
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 442 Pomógł: 4 Dołączył: 28.12.2008 Skąd: Warszawa Ostrzeżenie: (20%) ![]() ![]() |
sam już nad tym myślałem ale nie wiem czy da się tak wykonac mam takie zapytanie (w sumie to bybylo optymalnieszcze i lepsze rozwiazanie )
OK to jak moge złożyc to zapytanie ![]() Więc jak mogę zrobić to zapytanie na twóch róznych kolumnach tak jak powiedział olo_1984 moje zapytanie jest wyzej xxx dałem bo po co to komu ![]() wielkie dzieki z góry za pomoc -------------------- Życie jest jak SESJA kiedyś wygaśnie ....
Jeśli moja odpowiedź jakoś Cię nakierowała lub pomogła kliknij Pomógł |
|
|
![]()
Post
#14
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Chłopie...Ale pytanie nadal rozbija się o jedno. Czy Ty masz zamiar tam wpisać tylko jedną określoną wartość gdy jakiś tam rekord ma określone dane, czy Ty chcesz ten insert użyć dla wszystkich rekordów w tablicy? Bo chyba logiczne, że poza pętlę while nie wyciągniesz pojedynczego wyniku w sposób: "mam 10 wyników, a komp niech zgaduje jaki mam na myśli". Albo mu to jawnie określisz, czyli przed pętlą while będziesz miał zmienną i której przypiszesz wartość jeśli znajdziesz interesującą Cię wśród wyników na zasadzie:
Albo chcesz wyciągać wartość tej kolumny dla wszystkich rekordów i potem robić insert na ich podstawie w stylu:
Jeśli żadne z tych nie jest tym co chcesz to może najpierw uderz się w głowę, bo może wtedy uda Ci się ustawić klepki na właściwych miejscach i SENSOWNIE powiesz Nam o co Ci właściwie chodzi. Bo na razie przez cały temat nie wiadomo o co Ci chodzi i co chcesz zrobić. Po prostu na pytania odpowiadasz tak mgliście, że nikt nie wie czego właściwie chcesz. Ten post edytował thek 24.10.2009, 19:31:47 -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 442 Pomógł: 4 Dołączył: 28.12.2008 Skąd: Warszawa Ostrzeżenie: (20%) ![]() ![]() |
niechce jednej wartosc wyciągnąc chce wsyztsko miec w zminnej wszytsko co zostało wycignięte przez zapytanie
-------------------- Życie jest jak SESJA kiedyś wygaśnie ....
Jeśli moja odpowiedź jakoś Cię nakierowała lub pomogła kliknij Pomógł |
|
|
![]()
Post
#16
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
To masz na to 2 sposoby. Albo w pierwszej pętli while robisz tablicę z niezbędnymi danymi, jak tu już w kilku postach było, i w drugiej wypełniasz tymi danymi, albo robisz to co ja w ostatnim swoim poście, czyli składasz zapytanie już na poziomie tego pierwszego while, co jest moim zdaniem, bardziej optymalne. A czemu? Bo robisz całość w jednej, a nie dwóch pętlach. Przypatrz się postom dokładnie, bo jak dla mnie rozwiązanie w pierwszy sposób już masz podane od niemal początków przez moich kolegów tutaj, czyli:
Tak się wypełnia tablicę danymi, o których wspominasz. Ty jeszcze możesz jedynie potem usunąć duble używając array_unique() oraz eliminując ewentualny element pusty. Ale gdy Ci podali to rozwiązanie to stwierdziłeś, że "to nie to o co Ci chodzi". A czy w tej tablicy będzie jedna kolumna czy więcej kolumn to nieistotne. Elementem tablicy może być inna tablica. Po prostu nie znasz do końca możliwości języka chyba. Dla mnie to nieistotne czy w pętli while podam do zapamiętania jedną czy kilka kolumn, to będzie i tak wiersz do którego się będę mogł odnieść jako $coś[0]['kolumna1'], $coś[0]['kolumna2'], jeśli tylko dobrze zapiszę to przy pobieraniu wyników. A zauważ, że Ci już takie rozwiązanie podali. Zwyczajnie zignorowałeś z powodu braku wiedzy rozwiązanie problemu zamiast je sprawdzić. Nie dziwię się więc, że nikt nie potrafił Ci dogodzić z rozwiązaniem, bo zwyczajnie nawet nie sprawdziłeś, czy to jest to o co Ci chodzi. Jak widzisz, wisi ono już od iluś postów, ale ukręciłeś temu łeb twierdząc, że nim nie jest. Nagle teraz się okazuje, że chyba jednak tak bo przynajmniej z Twojego opisu jak mialo by ono wyglądać tak wynika. EDIT: A to co zostało wyciągnięte przez zapytanie to JEST jedna wielka macierz wyników, tyle że zamiast do niej się odnosić jak zazwyczaj się uważa czyli: $wynik['wiersz']['kolumna'] używać można składni mysql_result($wynik, $wiersz, $kolumna). To tylko inna forma zapisu, ale jak widać, przynajmniej niektórzy nie potrafią tego zauważyć. Bo czy forma zapisu jest istotna? Równie dobrze mogłem w pętli przeskakiwać wskaźnikiem ( mysql_data_seek ) i sobie odczytywać co chcę zamiast używać mysql_fetch_*, ale jest to mniej wydajne i manual o tym wspomina. Ten post edytował thek 24.10.2009, 22:43:09 -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 442 Pomógł: 4 Dołączył: 28.12.2008 Skąd: Warszawa Ostrzeżenie: (20%) ![]() ![]() |
NO OK zrobiłem tak
i co mi z tego jak odnowa musze robic petle tylko foreach a ja próbuje ze zmienna uciec z petli z danymi ;/ yhhh... -------------------- Życie jest jak SESJA kiedyś wygaśnie ....
Jeśli moja odpowiedź jakoś Cię nakierowała lub pomogła kliknij Pomógł |
|
|
![]()
Post
#18
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
A ja Ci po raz XXXXXXXXX piszę, że Ty sam nie wiesz czego chcesz! Chcesz mieć wynikową kolumnę z wszystkimi 'nazwa', ale oczywiście to nie ma być tablica, bo nie chcesz używać while po raz kolejny. To ja się pytam jakim cudem chcesz to zrobić? Ma być tablicą wyników i stringiem jednocześnie czy co? Bo chcesz pobrać z wszystkich wyników z bazy wartość jakiejś określone kolumny, a sama baza zwróci Ci X wyników, czyli będziesz miał zawsze tablicę X pól 'nazwa' lub ewentualnie zrobisz sobie z tego jeden wielki string potem funkcją implode. Ale jakim cudem Ty chcesz mieć tablicę nie będącą jednak tablicą, bo nie chcesz używać pętli? Tak to tylko w Erze. I myśl zanim po raz kolejny napiszesz jeszcze raz tę samą głupotę. Albo robisz tablice z 'nazwa' i potem na niej operujesz, albo robisz coś już na etapie pierwszego while gdy dopiero odczytujesz dane jak ja zrobiłem przykład ze sklepaniem INSERT długiego. A potem dopiero wpieraj innym, że to nie tak.Bo już przerobilismy większość możliwości jak by to mogło wyglądać i szanowny Pan wybrzydza zamiast na przykład rozpisać konkretnie od A do Z jak to ma dokładnie wyglądać, bo dotychczasowe opisy funkcjonalności jaka rzekomo ma być są już po 2 razy opisane jak dla mnie w całym temacie. Może weź napisz łopatologiczny przykład typu co pobierasz z bazy (przykładowe rekordy) jak się to zachowuje w pętli, co masz dostać po wyjściu z pętli i co chcesz otrzymać w wyniku. Bo tak to możemy do śmierci zgadywać bo piszesz jak królewna "co to by chciała, ale się boi"
![]() EDIT: Zwróć uwagę, że w przykładzie swoim masz X kategorii, a wedle tego co piszesz to chcesz mieć chyba wszystkie w jednym stringu. tylko po co? I tak jak mniemam chcesz mieć dostęp do każdej z osobna. Przykładowo masz kategorie: kat1, kat2, kat3. A według tego co piszesz to albo chcesz mieć je jako: $cos = "kat1, kat2, kat"; albo chcesz wyciągnąć tylko jedną z nich: $cos = "kat1"; albo przykład którego jeszcze nie przerabialiśmy: $cos1 = "kat1"; $cos2 = "kat2"; $cos3 = "kat3"; bo nie chcesz, by to zostało taką tablicą: $cos = array('kat1', 'kat2', 'kat3'); Ja już po prostu nie wiem o co Ci chodzi, bo tak mydlisz temat. Od razu mówię, że ten którego nie przerabialiśmy to głupota, bo nigdy nie wiesz ile zmiennych dynamicznie utworzysz. Od tego są tablice. Nie utworzysz bowiem pod jedną nazwą typu $cos iluś rekordów stringowych $cos = 'kat1'; $cos = 'kat2'; $cos = 'kat3'; Bo skąd do ciężkiej chol... komputer ma wiedzieć, o który katX Ci chodzi? Zgaduj-zgadula może trafi? Albo wyciągasz tylko jeden albo kilka określonych (używanie if w pętli dla obu tych przypadków), albo wszystkie. Nie ma innej alternatywy. No chyba, że zapytanie zwróci Ci zero rekordów, to wtedy problem sam się rozwiązuje ![]() Ten post edytował thek 25.10.2009, 13:21:58 -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 05:04 |