Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] zliczanie zmiennych
Forum PHP.pl > Forum > Przedszkole
trucksweb
mam taki adres

  1. <?php
  2. index.php?id=3&id_prod=20&id_prod=22&id_prod=87
  3. ?>


czy jest jakas mozliwosc aby zczytac te id_prod i pobrac z bazy wartosc jakie im odpowiadaja?
rolnix
Nie wiem czy wiesz, ale $_GET dostanie tylko jeden id_prod... ten ostatni tongue.gif
JaRoPHP
Zobacz, że przedstawiony przez Ciebie sposób nadpisuje zmienne:
  1. <?php
  2. print_r($_GET);
  3. ?>
trucksweb
ok, ale jeszcze nie wszystko stracone.

co byscie powiedzieli, ze gdy po raz pierwszy sciagnie sie getem id_prod jakos go zapisac z unikalnym id, lub w jakiejs zmiennej.
Gdy drugi raz sciagnie sie innego id_prod tez go jakos zapisac ?

jest to jakos mozliwe ?
rolnix
Poczytaj o sesjach i ciastkach.

http://www.php.net/session
http://pl2.php.net/setcookie
trucksweb
kiedy u mnie sesje i ciastka nie bardzo dadza rade, jedyne co mi pasuje to wlasnie get.
Kildyt
Jakoś nie widzę wyjścia z tej sytuacji. Nie może być przecież trzech zmiennych z tymi samymi nazwami bo niby skąd serwer będzie wiedział, który to który? Nie możesz nazwać każdej zmiennej w indywidualny sposób? Hmm, może podczas wysyłania danych zastosować pętle, aby do każdej nazwy na końcu dodawał 1, następnie 2 i tak dalej?
trucksweb
hmm,

zamiast robic petle, ktora i tak nic nie da,dodaje do $id_prod id aktualnie wybranego produktu, ta ze w koncu mam adres: ...&id=10&id_prod99=99


  1. echo"<a href=\"?akcja=dodaj_fakture&id_prod=$row[id]\" onClick=\"opener.location=opener.location+'&id_prod{$row[id]}='+{$row[id]}; window.close()\"class=\"button\">Wybierz</a></td></tr>";


tylko jak teraz wczytac ta wartosc na drugiej stronie ?
  1. <?php
  2. $id_prod = $_GET['id_prod'];
  3. $zapytanie4 = "SELECT nazwa FROM produkty WHERE id=$id_prod";
  4. $wynik4 = mysql_query($zapytanie4);
  5.  
  6.  
  7. ?>
Kicok
Najlepiej będzie używać prod_id jako tablicy, np.: /strona.php?prod_id[]=3&prod_id[]=4&prod_id[]=124 tyle że adres strony może stracić na estetyczności, gdy "[]" zamienią się na "%5B%5D"
trucksweb
a moglbys podac przyklad jak zastosowac ta tablice, juz rano probowalem ale cos nie wychodzilo z tymi tablicami :/
Kicok
  1. <?php
  2.  
  3.  
  4. if( isset( $_GET['id_prod'] ) )
  5. {
  6. // Sprawdzamy czy $_GET['id_prod'] jest na pewno tablicą
  7. if( !is_array( $_GET['id_prod'] ) ) {
  8. $_GET['id_prod'] = array( $_GET['id_prod'] );
  9. }
  10.  
  11. // Zabezpieczenie przeciwko SQL-Injection
  12. $_GET['id_prod'] = array_map( 'intval', $_GET['id_prod'] );
  13.  
  14. // Na wszelki wypadek usuwamy jeszcze dublujące się wartości
  15. $_GET['id_prod'] = array_unique( $_GET['id_prod'] );
  16.  
  17.  
  18. // Tworzymy zapytanie SQL
  19. $query = 'SELECT id, nazwa FROM produkty WHERE ( id IN ( ' . implode( ', ', $_GET['id_prod'] ) . ' ) )';
  20. #mysql_query( $query, $conn_id ) or die( mysql_error() );
  21. echo $query;
  22. }
  23.  
  24. ?>



Lektura na wieczór:
array_map" title="Zobacz w manualu PHP" target="_manual, array_unique" title="Zobacz w manualu PHP" target="_manual, implode" title="Zobacz w manualu PHP" target="_manual, http://dev.mysql.com/doc/refman/5.0/en/com...tml#function_in
trucksweb
super, dziala dzieki.

ale teraz zczytuje mi ostatnie id produktu, a jak wyswietlic wszystkie jakie tylko zostaly wybrane ?
nie wim czy to w petli dac i jakie wartosci dac do for'a sad.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.