![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 366 Pomógł: 0 Dołączył: 2.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
hej!
mam pytanie-jak przekazac wynik zapytan do drugiej strony? tzn. mam plik1.php ktory pobiera mi jakies dane z bazy, np zwroci mi dane: ania, stefan, jozia. jesli za pomoca metody POST przekaze wynik zapytania do plik2.php to przesle mi sie tylko ostatni wynik=jozia. jak zrobic by wyswietlic w drugim pliku wszystkie dane zwrocone przez zapytanie(czyli: ania, stefan, jozia)? pzdr! |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
To zależy czy chcesz, żeby na następną stronę przekazywane były wyniki automatycznie, czy np po kliknięciu w link?
Możesz utworzyć formularz a w nim w polach hidden wartości wynikowe, i go przesłać do następnej strony (wtedy będziesz miał przez $_POST), albo przez $_GET, tworząc adres typu: $nastepna_strona="?zmienna=ania|stefan|jozia"; czyli poprzez dopisywanie w pętli do zmiennej $nastepna_strona kolejnych wyników z bazy tyle, że później musisz tą zmienną podzielić na pojedyncze dane... ale może po prostu będzie prościej includować ten plik "plik1.php" w pliku "plik2.php" i wyniki działania pierwszego będą automatycznie dostępne w tym drugim... to zależy co chcesz dokładnie osiągnąć... |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 318 Pomógł: 6 Dołączył: 27.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Albo tablica, albo sesje.
Wybrałbym to drugie. Opis algorytmu: Pobierasz imie -> dla każdego robisz $_SESSION['imie[$i]'] -> następna strona: session_start(); -> odczytujesz dopóki isset($_SESSION['imie[$i]']) Oczywiście zwiększając $i. Stosowałem takie rozwiązanie parę razy i uznałem je za optymalne z mojego punktu widzenia (co nie znaczy, że najlepsze - po prostu nie znam lepszego rozwiązania:) ) |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 366 Pomógł: 0 Dołączył: 2.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
wiec
po kolei: 1. jesli chodzi o inculdowanie jednego pliku w drugim-to odpada poniewaz plik1.php zawiera w sobie mase rzeczy ktore nie moga sie pojawic w plik2.php. musze przekazac tylko wynik zapytan. jakiekolwiek ramki/divy etc tez odpadaja.. 2.$POST... podesle Ci kawalek mojego kodu: plik1.php w plik2.php:
no i wynikiem dzialania pierwszego skryptu bedzie(przykladowo): ania, stefan, jozia zas drugiego : jozia... 3. jesli zas chodzi o sesje, chcialabym tego jednak uniknac. baza jest dosc spora, zapytan moze byc cala masa.. nie chce tworzyc dla kazdej mozliwej kolumny $_SESSION['xx[$i]'].. szukam sposobu/funkcji ktora w prosty i przede wszystkim uniwersalny sposob pozwoli mi na przekazywanie wynikow miedzy stronami.. zastanawialam sie nad zrobieniem jakiejs funkcji ktora by wrzucala wynik zapytania do tablicy i pozniej te tablice przekazywac, ale nie za bardzo wiem jak to ugryzc.. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
$_POST... może tak:
plik1.php
w plik2.php:
może w ten sposób, ale to trzeba przecież kliknąć w przycisk wyślij, jak to zrobić tak automatycznie to na razie nie mam pomysłu, trzebaby popróbować z javascript... może jeszcze pomyśle (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Mam idea! A jakby zdefiniować tablicę "PYT[]" jako zmienną globalną?
Zapisywać do niej, tak:
A odczytywać w ten sposób:
może tak? Ten post edytował vokiel 16.03.2007, 21:34:45 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 106 Pomógł: 1 Dołączył: 2.12.2005 Skąd: Jaworzno Ostrzeżenie: (0%) ![]() ![]() |
Cytat foreach ($row as $data) echo"$data" Dziwisz się, że w zmiennej $data masz tylko wartość ostatnią - przeczytaj sobie o foreach w manualu. $data jest zmienną, a nie tablicą, więc nie może zawierać wielu wartości!!! chcesz mieć wynik selecta w tabeli, to zrób to tak:
zmienna $row jest tablicą zawierającą wszystkie wyniki zapytania, czyli: $row[0]=ania $row[1]=stefan $row[2]=jozia chcesz to przesłać, to zrob tak:
dzięki temu masz wszystkie wartości z tabeli w hidden-ie Ten post edytował Neojawor 17.03.2007, 11:47:19 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 366 Pomógł: 0 Dołączył: 2.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
sposob z licznikiem nie dziala za nic.. a co do 'count' to to chyba zwraca ilosc wynikow (czyli np.3), a nie wartosci wynikow..
co do pomyslu Neojawora zrobilam juz nawet dokladnie jak napisales, nic nie kombinujac, na drugiej stronie odwoluje sie w ten sposob:
jednak nadal wyswietla sie tylko ostatnia wartosc.. :/ |
|
|
![]()
Post
#8
|
|
Grupa: Przyjaciele php.pl Postów: 1 590 Pomógł: 40 Dołączył: 11.01.2007 Skąd: Centrum Ostrzeżenie: (0%) ![]() ![]() |
sposob z licznikiem nie dziala za nic.. a co do 'count' to to chyba zwraca ilosc wynikow (czyli np.3), a nie wartosci wynikow.. co do pomyslu Neojawora zrobilam juz nawet dokladnie jak napisales, nic nie kombinujac, na drugiej stronie odwoluje sie w ten sposob:
jednak nadal wyswietla sie tylko ostatnia wartosc.. :/ No i nic dziwnego bo w tym co napisał Neojawor w POST zostanie przekazana tylko ostatnia wartość. Należałoby to zmienić tak:
W takim przypadku $_POST['pyt'] byłaby tablicą z wszystkimi wynikami. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 366 Pomógł: 0 Dołączył: 2.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
tym razem na drugiej stronie pokaze sie 'Array'..
heh, juz dziala:) zrobilam jak pisal Cienki1980, tzn
a na drugiej stronie po prostu dopisalam 2 linijki:
i wsjo:) pokazuje sie wszystko! dzieki wielkie!!:) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 18:33 |