Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]przekazanie wyniku zapytania do innej strony
misty
post
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
  1. SELECT imie FROM test;
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!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
misty
post
Post #2





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
  1. <?php
  2. $polaczenie=..;
  3. $zapytanie="select imie from test;";
  4. $wynik=pg_query($polaczenie, $zapytanie) or die ("error");
  5. while ($row=pg_fetch_row($wynik))
  6. {
  7. foreach ($row as $data)
  8. echo"$data"
  9. }
  10. //tu probuje przekazac wynik zapytania..
  11. echo "<form action=strona2.php method=POST target='_blank'>
  12.  <input type=hidden name=pyt value='$data'>
  13. <br><input type=submit name=search value=pokaz>";
  14. echo "</form>";
  15. ?>


w plik2.php:
  1. <?php
  2. $polaczenie=..
  3. $pyt=$_POST['pyt'];
  4. echo $pyt;
  5. ?>


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..
Go to the top of the page
+Quote Post
vokiel
post
Post #3





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

Ostrzeżenie: (0%)
-----


$_POST... może tak:

plik1.php
  1. <?php
  2. $polaczenie=..;
  3. $zapytanie="select imie from test;";
  4. $wynik=pg_query($polaczenie, $zapytanie) or die ("error");
  5.  
  6. // początek formularza
  7. echo "<form action=strona2.php method=POST target='_blank'>"
  8. $licznik=0;
  9. while ($row=pg_fetch_row($wynik))
  10.  {
  11.  foreach ($row as $data)
  12.  {
  13.  // tutaj wstawiasz dodawanie pól formularza dzięki temu zapamięta każy, a nie tylk
    o ostatni tak jak poprzednio
  14.  echo "<input type=hidden name=pyt['$licznik'] value='$data'><br />";
  15.  //temu tam jest licznik, żeby utworzyć w $_POST tablicę "pyt" i dodawać do niej kolejne elementy
  16.  
  17.  echo "$data"; // do sprawdzenia może się przydać ;) potem, już może nie (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
  18.  $licznik++;
  19.  }
  20.  }
  21. // zakończenie formularza
  22. echo "<input type=submit name=search value=pokaz></form>";
  23. ?>


w plik2.php:
  1. <?php
  2. $polaczenie=..
  3. $wyniki = $_POST['pyt'];
  4. for ($i=0; $i=count($wyniki); $i++)
  5.  {
  6.  echo $wyniki[$i]."<br />";
  7. }
  8. ?>


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ą?
  1. <?php
  2. global $PYT; 
  3. //nie wiem czy nie trzeba przypadkiem zdefiniować od razu, że to tablica... czyli 
    np tak?
  4. global $PYT = new array(); //tutaj mogę się mylić
  5. ?>


Zapisywać do niej, tak:

  1. <?php
  2. $licznik=0;
  3. while ($row=pg_fetch_row($wynik))
  4.  {
  5.  foreach ($row as $data)
  6.  {
  7.  $PYT[$licznik]=$data;
  8.  $licznik++;
  9.  }
  10.  }
  11. ?>


A odczytywać w ten sposób:
  1. <?php
  2. $polaczenie=..
  3. for ($i=0; $i=count($PYT); $i++)
  4.  {
  5.  echo $PYT[$i]."<br />";
  6. }
  7. ?>


może tak?

Ten post edytował vokiel 16.03.2007, 21:34:45
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 18:33