Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][html] Galeria z możliwością wyboru
Forum PHP.pl > Forum > Przedszkole
BatGraf
Witam serdecznie smile.gif

Mam mały kłopot. Przypuszczam, że mózna to znaleźć w podręczniku google, ale nie wiem jak nazwać.

Chodzi mi o galerię, która - na pierwszej stronie ma np 20 zdjęć jakiegoś towaru, załóżmy majtek. Jest tu 20 zdjęć, z możliwością "odchaczenia" Potrzebne mi to do pracy przy zamówieniach. Z 20 wzorów, zamówionych zostało np. 5. Zaznaczam te 5 i przechodzę dalej. Na następnej stronie mam już tylko te 5 zaznaczonych i pola przy fotografiach, w których wpisuję ilość. Efektem miałby być wydruk listy zamówionych wzorów majtek z ilością i fotografiami.

Wiem, że to proste i napewno jest w sieci, ale trzy dni już szukam takiej galerii smile.gif Może to być w czymkolwiek, php, html. Nie proszę o gotowca, ale o wskazówkę jak tego szukać lub jak z grubsza to zbudować.

Z góry ogromne dzięki smile.gif
Cienki1980
Nie ma tu żadnej filozofii.

- masz listę obrazków ( czy to rekordy w bazie danych czy w pliku czy jeszcze w czymś innym ) powiązane z obrazkami
- wyświetlasz wszystkie obrazki przy każdym robisz pole checkbox
- wysyłasz formularz
- odbierasz formularz sprawdzasz jakie checkboxy były zaznaczone i wyświetlasz tylko te zaznaczone rekordy ( obrazki ) z dodatkowym polem opisu
- wysyłasz wpisane dane dalej i masz gotowe zamówienie

Na prawdę banalna sprawa.
BatGraf
Dzięki za podpowiedź. Faktycznie wygląda na dość proste. Liczyłem, że uda się to zrobić w samym html -bo w php dopiero raczkuję smile.gif, ale to jakieś wyzwanie do nauki smile.gif

Oki, postaram się poczytać, może mi się uda . Trzymaj kciuki smile.gif

Jeszcze raz dzięki, bo to mi nakreśliło jakoś co mam zrobić.
Jak mi się uda, poproszę o ocenę smile.gif

W samym htmlu, przypuszczam nie jest możliwe zrobienie czegoś podobnego ?
Cienki1980
To jest idealny materiał na start zabawy z PHP. Podejrzewam, że napisać to w samym HTMLu ( no i może trochę JS ) dałoby radę .. ale w PHP będzie szybciej, skuteczniej i przyjemniej.

Tak więc do dzieła .. manual php do ręki kursy na ekran .. i startuj. Potem zadawaj ewentualne pytania a na pewno pomożemy.
BatGraf
świetnie biggrin.gif. Nie mogłem zabrać się za naukę, a tu mam dobry powód smile.gif
Idę szukać materiałów smile.gif

Mam jednak prośbę. Powiedz, jakiego manuala najlepiej szukać i który z kursów polecasz. PHP nie znam prawie wcale. Więcej wcale niż prawie, a znalazłem kursy na kilku stronach i wychodzi na to, że muszę chyba przejść całe postawy od początku. Nie wiem, czego po kolei się uczyć ? Przepraszam za głupie pytania, ale chciałbym zacząć po kolei i nauczyć się konkretów smile.gif
qqrq
Manual (jedyny słuszny smile.gif ): php.net
Kursów jest wiele... Ja od siebie polecam: gajdaw.pl/php oraz ogólnie (nie tylko do PHP) gajdaw.pl.

Miłej nauki smile.gif
BatGraf
Dzięki za wskazówki. Tylko jest kłopot smile.gif ja z angielskim mam tyle wslnego, co z wolnomularzami smile.gif Tylko nie mówcie - nie bierz się za to bez angielskiego smile.gif proszę smile.gif jakoś dam radę. Jest może polska wersja ?
Cienki1980
Cytat(BatGraf @ 17.09.2007, 21:08:29 ) *
Dzięki za wskazówki. Tylko jest kłopot smile.gif ja z angielskim mam tyle wslnego, co z wolnomularzami smile.gif Tylko nie mówcie - nie bierz się za to bez angielskiego smile.gif proszę smile.gif jakoś dam radę. Jest może polska wersja ?

Jest polska wersja manuala na stronie php.net .. może nie cała, ale te podstawowe funkcje są opisane po polsku.

Korzystaj z kursów a do manuala zaglądaj gdy nie wiesz co dana funkcja robi. Z czasem przyzwyczaisz się do korzystania z manuala na tyle, że będziesz wiedział w jakim rozdziale czego szukać.
BatGraf
o, fajnie smile.gif
Na razie próbuję (jednocześnie poznając podstawy) złapać o co ogólnie chodzi. Wydaje mi się, że php (początek/podstawy) są dość łatwe. - Ignorancja ?smile.gif

Dotarłem do strony:

webmade

i nie jestem pewien. Wykorzystać funkcję POST czy GET, żeby zbudować najpierw galerię (tabelę, trzy kolumny - 1. - zaznaczenie, 2. - zdjęcie, 3. ilość)?
Czy dobrze szukam ? Bo teraz jesli dobrze, muszę znaleźć sposób, żeby utworzyć (chyba) tablice z np 20 zmiennymi ?
Nie wiem, czy nie puiszę bzdur, ale jakoś zaczyna mi to świtać (razem z tym świtem za oknem smile.gif)
strife
Dzięki, że mi przypomniałeś pora iść spać :D

GET ma tą przewagę nad POST, że możesz łatwo manipulować zmiennymi:

Kod
&kategoria=majty&ilosc=2123&nazwa=gacie_po_tacie


w POST czegoś takiego nie zrobisz. Od czego powinieneś zacząć, ja myślę, że od poznawania mysql + php ponieważ to Ci będzie niezbędne, robienie czegoś takiego na plikach zajmie Ci więcej czasu i może okazać się męczące (przy modyfikacji itp. ).

1. Rozplanuj sobie bazę danych jak ma wyglądać, jakie pola ma posiadać np.

Tabela :: products
Kod
id | nazwa | category_id | photo


Tabela :: category
Kod
id | name


a) Jak się tworzy bazę danych? Konsola mysql i zapytanie albo poszukaj w internecie programu okienkowego do zarządzania bazami (polecam Navicat).
b) Jak się tworzy tabele? Najlepiej to właśnie tym programem, są też skrypty jak phpmyadmin, ale najlepiej zrobisz to właśnie programem okienkowym moim skromnym zdaniem :P
c) Zakładam, że masz localhost'a z mysql oczywiście. Nie masz? Poszukaj wampserver będziesz miał php5 + mysql.

2. Gdy już masz wszystkie potrzebne tabele to tworzysz pierwszą stronę (index.php)

a) Co będzie zawierał index.php ? Będziesz miał tam formularz, w którym będziesz wybierał kategorie, po wybraniu kategori wyświetlą się jej wszystkie elementy. Przykład:

  1. <?php
  2. // laczenie z baza danych
  3. // patrz pkt. 3b.
  4.  
  5. $category = $_GET['category'];
  6.  
  7. if (isset($category))
  8. {
  9. // instrukcje do wyswietlenia wszystkich produktow
  10. // w tej kategorii
  11.  
  12. $query = mysql_query("SELECT * FROM products WHERE category = " . $category);
  13.  
  14. while($row = mysql_fetch_array($query))
  15. {
  16.  // wyswietlanie wszystkich produktow
  17.  echo '<img src="' . $row['photo'] . '" />'; // adres do obrazka
  18.  echo '<h4>' . $row['nazwa'] . '</h4>'; // nazwa zdjecia
  19. }
  20. }
  21. ?>


Ale zaraz zaraz, jak w takim razie wybierzesz kategorię !?

b) Do wyboru kategori posłuży Ci np. taki formularz:

  1. <form method="get" action="index.php">
  2. <select name="category">
  3. <?php
  4.  $query = mysql_query("SELECT * FROM category"); // pobieranie wszystkich rekordow
  5.  
  6.  while($row = mysql_fetch_array($query))
  7.  {
  8.  echo '<option value="' . $row['id'] . '">' . $row['name'] . '</option>';
  9.  }
  10.  
  11.  ?>
  12. </select>
  13. </form>
  14.  
  15. <!-- Nizej wyswietlanie produktow w danej kategori, patrz kod powyzej -->


c) Łączenie z bazą, mysql_connect" title="Zobacz w manualu PHP" target="_manual.

3. Krótkie podsumowanie, co na razie mamy? Formularz, dzięki któremu zobaczymy wszystkie produkty w danej kategori, teraz pora na stworzenie dalszej części, a mianowicie zaznaczając jakiś produkt, zapamiętujemy go do następnego formularza.

a) Modyfikujemy trochę kod, aby pkt. 2a - tak, aby przy każdym produkcie otrzymując checkbox, o nazwie products[] i wartości równej id produktu. Oczywiście nie możemy zapomnieć o form w obrębie wyświetlanych produktów.

b) Gdy już mamy nasz formularz i checkbox'y, przystępujemy do stworzenia kolejnej strony, na którą zostanie skierowany nasz formularz action="products_view.php".

c) Zawartość products_view.php powinna posiadać instrukcje, które wyłapią zaznaczone wcześniej produkty i umożliwią modyfikacje ich ilości.

4. W products_view.php po tym jak zaznaczymy w checkbox'ach, interesujące nas produkty powinniśmy otrzymać tablicę, aby ją zobaczyć możemy użyć takiego kodu:

  1. <?php
  2. echo '<pre>';
  3. var_export($_POST);
  4. echo '</pre>';
  5. ?>


Co otrzymamy? Powinniśmy otrzymać taką tablicę:

Kod
array (
  0 => 4,
  1 => 2,
  2 => 10,
  3 => 32,
  4 => 20,
)


a) W naszym kodzie sprawdzamy najpierw czy dane zostały przesłane

  1. <?php
  2. if (isset($_POST['products']))
  3. {
  4.  
  5. }
  6. ?>


b) Jeśli zostały przesłane to tak jak to miało miejsce na początku wyświetlamy produkty z tą różnicą, że zamiast checkbox'a będziemy mieli input'a typu 'text', w którym będziemy podawać ilość.

5. I ostatni punkt, z formularza ze strony products_view.php, wyświetlamy wynik. Tego nie będę opisywał, ponieważ wydaje mi się, że dochodząc do tego punktu, powinieneś już to sam zrobić.

---
Pisałem to późno w nocy, a raczej rano więc z góry przepraszam za wszelkie błędy ort. a także za błędy w kodzie, pisałem wszystko z palca na szybko także moga się pojawiać błędy. Nie mniej jednak jeżeli będziesz miał jakieś pytania to zapraszam.

Pozdrawiam serdecznie.
BatGraf
@strife - ogromne dzięki. Piękny poradnik. Ja dopiero zaczynam patrzeć na oczy (też położyłem się dziś smile.gif) , ale jak tylko "odpalę" szarą komórkę, biorę się do roboty i nauki. Dzięki tej pomocy, wydaje mi się, że w końcu zrobię to o czym kiedyś myślałem. Pamiętasz ? Kreator, krok po kroku, do wypełniania treści na stronie smile.gif

Mam duzy mętlik w głowie i świadomość, że poznałem to wszystko na razie "po łebkach", ale już jakoś to zaczyna się kształtować smile.gif

Dzięki smile.gif Napiszę co mi wyszło.
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.