Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Co uzyc zeby stworzyc rozne wariacje? Tabele arraye itp
Forum PHP.pl > Forum > PHP
konradmm
Witam.
Jako ze jestem noobem jesli chodzi o wszelkie tabele, nie wiem nawet czy powinienem ich uzyc...

Co potrzebuje?
W wielkim skrocie chce zrobic obrazek skladajacy sie z 3 roznych obrazkow za pomocą GD.
Posiadam okolo 10-12 obrazków ktore poprzypisywalem przez zmienne od $img1 do $img12.

Chce zrobic teraz taka wariacje ze jak ktos np wejdzie na strone z $_POST np. wariacjadwa czyli index.php?var=dwa to uzyje mu 3 obrazkow, $img1, $img4, $img7
Problem jest taki ze ja musze te wariacje w jakis sposob ustalic i zastanawiam sie jak najlepiej to zrobic.
Najbardziej kojarzy mi sie array, ale potrzebuje wskazowki poniewaz nie za bardzo wiem jak ten array dziala mimo ze przeczytalem na doc'ach.
sazian
to jest GET nie POST wink.gif
  1. $obrazki=array('1.jpg','2.jpg','3.jpg','4.jpg',.......);
  2.  
  3. $do_uzycia=array(0,1,2);
  4.  
  5. if($_GET['var']=='dwa')
  6. {
  7. $do_uzycia[0]=0;
  8. $do_uzycia[1]=3;
  9. $do_uzycia[2]=7;
  10. }
  11. if($_GET['var']=='trzy')
  12. {
  13. $do_uzycia[0]=8;
  14. $do_uzycia[1]=2;
  15. $do_uzycia[2]=1;
  16. }
  17.  
  18.  
  19. połącz_w_gd($obrazki[$do_uzycia[0]],$obrazki[$do_uzycia[1]],$obrazki[$do_uzycia[2]]);
  20.  
  21.  
konradmm
ta GET wiem wiem biggrin.gif
tylko uzywam POST'a zeby wywolac ten obrazek z formularza.
Niestety opcje IF nie wchodza w gre bo to jest malo efektywne biggrin.gif
Szczegolnie ze jesli dobrze licze jak mam 20 obrazkow czyli kombinacji kazdego obrazka z kazdym (bez powtorzen) to rowniutko 1140 (ach ta kombinatoryka)

Mysle ze wyszloby to malo efektywnie gdybym mial 1140x5 linijek haha.gifD

Moze wskaze do czego doszedlem i prosilbym o pomoc z tym:

  1. <?php
  2.  
  3.  
  4. $variables = array(
  5. array("one","sex","life","kid"),
  6. array("two","peace","war","home"),
  7. array("sixsixsix","horror","angel","demon")
  8. );
  9.  
  10.  
  11. $varname = $_GET['id'];
  12. $img1 = $variables[$_GET['id']][0];
  13. $img2 = $variables[$_GET['id']][1];
  14. $img3 = $variables[$_GET['id']][2];
  15.  
  16. echo $_GET['id'];
  17. echo " ===> ";
  18. echo $img1."-".$img2."-".$img3;
  19.  
  20.  
  21. ?>


Ale niestety nie wiedziec czemu to po prostu nie dziala...
Dlatego prosze was o pomoc wink.gif

P.s. to czysty php ale z GD dam sobie rade jak juz php mi bedzie smigac haha.gif

Okej...
Wlasciwie to zrobilem sobie przerwe z tym skryptem, wrocilem i zrozumialem po co ja tak kombinuje biggrin.gif

Smiga wszystko dobrze a zrobilem to tym sposobem:
  1. $variables = array(
  2. 'jeden' => 'elem1,elem3,elem4',
  3. 'dwa' => 'elem2,elem3,elem4'
  4. );
  5.  
  6. $var = explode(',',$variables[$_GET['id']]);
  7. echo $var[0].'_'.$var[1].'_'.$var[2];


Do zamknięcia, chyba ze ktos zna inny jeszcze lepszy sposob wink.gif
Moze i by bylo 100x latwiej zrobic to w bazie, ale jestem zmuszony zamknac sie w pliku ;p
Daimos
  1. $images = array(
  2. 'one' => array('obrazek1', 'obrazek2', 'obrazek3'),
  3. 'two' => array('obrazek1', 'obrazek2', 'obrazek3'),
  4. 'three' => array('obrazek1', 'obrazek2', 'obrazek3'),
  5. );
  6. $id = $_GET['id']; // albo post, co wolisz
  7. if(array_key_exists($id, $images))
  8. {
  9. //var_dump($images[$id);
  10. // można wtedy pętlą wyświetlić:
  11. foreach($images[$id] as $image)
  12. {
  13. echo $image.'<br/>';
  14. }
  15. // albo jak wolisz w jednym stringu wyświetlić:
  16. echo implode(',',$images);
  17. }
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.