Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

PHP - Wstawianie zdjęć w zależności od treści

kecajs 06 Sty 2013 12:33 1305 10
  • #1 06 Sty 2013 12:33
    kecajs
    Poziom 17  

    Witam,
    poszukuję skryptu, który będzie wstawiał odpowiednie zdjęcie w zależności od wybranej podstrony.
    Przykładowo:
    strona w php z wykorzystaniem bazy danych w MySQL.
    część główna: z menu rozwijanego wybieram "liga polska", zaś w nagłówku pojawia się zdjęcie przypisane do ligi polskiej. Wybieram z menu "liga angielska" i w nagłówku pojawia się zdjęcie przypisane do ligi angielskiej. Domyślnie ustawione jest zdjęcie ogólne.
    Pozdrawiam,
    Jacek

    0 10
  • #3 06 Sty 2013 13:35
    kecajs
    Poziom 17  

    Myślę o combobox, zaś wybór powoduje wyselekcjonowanie określonych rekordów z bazy danych i wstawienie ich w tabelę. To wszystko odbywać się ma w głównej części strony. W części nagłówkowej z kolei ma pojawiać się określone zdjęcie.

    0
  • #4 06 Sty 2013 13:53
    Dżyszla
    Poziom 42  

    Więc w zdarzeniu onChange wywołaj zapytanie AJAXowe do skryptu, który zwróci np adres obrazka, a w funkcji obsługi zdarzenia otrzymania wiadomości podmień src dla obrazka.

    http://www.w3schools.com/jsref/event_onchange.asp
    http://www.w3schools.com/jsref/prop_img_src.asp
    http://www.w3schools.com/ajax/default.asp

    0
  • #5 06 Sty 2013 14:51
    kecajs
    Poziom 17  

    A jak to wstawić? W tym sensie, jak zaznaczyć, że zdjęcie ma pojawiać się w nagłówkowej części strony, zaś wybór następuje w części głównej.

    0
  • Pomocny post
    #6 06 Sty 2013 15:11
    marcinj12
    Poziom 40  

    Podstawowe pytanie, to w jaki sposób przeładowujesz dane po zmianie wyboru w comboboxie? Sposoby są dwa - prostszy: przeładowujesz (generujesz od nowa) całą stronę, wtedy do zmiany obrazka wystarczy skrypt w PHPie podmieniający adres obrazka lub cały znacznik <img> obrazka wraz z adresem (na if'ach lub instrukcji switch). Wada - w trakcie przeładowania strona "miga".

    Sposób drugi, nieco trudniejszy: wykorzystanie AJAXa (do tego polecam bibliotekę jQuery i funkcję #.post(), $.get() lub $.load() - przykłady użycia na stronie jQuery). Możesz użyć jej do zastąpienia fragmentu kodu na stronie bez jej przeładowywania - zarówno wygenerować tabelę jak i pobrać odpowiedni kod obrazka.

    0
  • #7 06 Sty 2013 17:08
    Dżyszla
    Poziom 42  

    No fakt, jQuery jest popularne i fajne, ale myślę że trochę podstaw nie zaszkodzi...

    Może zatem na początek zwykła zmiana obrazka (będę pisać z pamięci):

    Kod: html4strict
    Zaloguj się, aby zobaczyć kod
    To w zasadzie połączenie dwóch pierwszych linków, jakie podałem. Najwygodniej elementy odszukiwać po nadanych identyfikatorach.

    0
  • #8 06 Sty 2013 19:00
    kecajs
    Poziom 17  

    Dzięki bardzo :) Skrypt ten wstawiam w oknie głównym, tam gdzie będzie tabela?
    adres1 (Obrazek 1) to obrazek domyślny, zaś adres2 (Obrazek 2)? A w przypadku innych obrazków robię tyle wartości, ile obrazków, czyli adres3, adres4 etc?

    0
  • Pomocny post
    #9 06 Sty 2013 19:35
    Dżyszla
    Poziom 42  

    Tak. Oczywiście to tylko przykład - wcale nie trzeba wstawiać nazwy w wartości opcji - można pobrać to wykorzystując AJAX i w ten sposób odpytując bazę na serwerze. Jednak, jak tak pomyśleć, to w tym przypadku może faktycznie AJAX byłby przerostem formy, a całą tablicę można zawrzeć od razu w kodzie.

    0
  • #10 06 Sty 2013 21:58
    kecajs
    Poziom 17  

    a w jaki sposób mam wskazać, w którym miejscu mają być te zdjęcia umieszczone?

    0
  • #11 16 Mar 2013 00:54
    kecajs
    Poziom 17  

    Wszystko już działa. Dzięki za pomoc, temat zamykam.
    Pozdrawiam

    0