Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Wyświetlanie banneru w zależności od kategorii
s60v5
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 17.11.2011

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


Witam.

Mam mały problem. Na stronie sklepu internetowego są cztery kategorie. Linki do tych kategorii wyglądają tak:

Kod
http://sklep.pl/index.php?cPath=1
http://sklep.pl/index.php?cPath=2
http://sklep.pl/index.php?cPath=3
http://sklep.pl/index.php?cPath=4


Na stronie głównej wyświetlany jest banner, zakodowałem go za pomocą diva.
Teraz pytanie: Jak zrobić aby po kliknięci na inną kategorię zmieniał się ten banner? Każda kategoria ma mieć przypisany swój indywidualny banner.
Myślałem nad wykorzystaniem instrukcji warunkowej, to jedyne co mi przychodzi do głowy. Aczkolwiek, jestem zielony w PHP.

Proszę o szybką pomoc! Pozdrawiam headsetsmiley.png
Go to the top of the page
+Quote Post
Kostek.88
post
Post #2





Grupa: Zarejestrowani
Postów: 376
Pomógł: 47
Dołączył: 23.08.2007
Skąd: Warszawa

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


Albo banery ponazywasz numerami i dla cPath=1 to bedzie 1.jpg itd... i na koncu bedzie obrazek o nazwie pobranej ze zmiennej. No i tam instrukcja if file_exists...
Go to the top of the page
+Quote Post
s60v5
post
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 17.11.2011

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


mógłbyś coś takiego w kilku linijkach napisać, chociaż w pseudokodzie?
jakoś nie było czasu na naukę PHP, a cholernie mi to na dzisiaj potrzebne

Ten post edytował s60v5 17.11.2011, 01:44:00
Go to the top of the page
+Quote Post
Kostek.88
post
Post #4





Grupa: Zarejestrowani
Postów: 376
Pomógł: 47
Dołączył: 23.08.2007
Skąd: Warszawa

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


  1.  
  2.  


i php idzie tak:

  1.  
  2. if(file_exists('/sciezka_do_katalogu_z_grafika/' . $_GET['cPath'] . '.jpg')) {
  3. echo '<img src="sciezka_do_katalogu_z_grafika/" . $_GET['cPath'] . '.jpg" />';
  4. }
  5.  


W sumie w ten sposob mozesz w linkach nawet nazwy podstawiac i bedzie to automatycznie ladowane do obrazka... albo mozesz jeszcze przypisac to do tablicy, na wypadek jakby plik mial inne rozszerzenie, zatem


  1.  
  2. $banner = array(
  3. 1 => 'nazwa_dla_1.jpg',
  4. 2 => 'nazwa_dla_2.gif',
  5. 3 => 'nazwa_dla_3.png',
  6. 4 => 'nazwa_dla_4.jpg',
  7. );
  8.  
  9. if(file_exists('/sciezka_do_katalogu_z_grafika/' . $banner["' . $_GET['cPath'] . '"])) {
  10. echo '<img src="sciezka_do_katalogu_z_grafika/" . $banner["' . $_GET['cPath'] . '"] . ' " />';
  11. }
  12.  


Cos tego typu. Moga byc bledy, bo pisane na szybko.

Ten post edytował Kaloryfer 17.11.2011, 01:57:06
Go to the top of the page
+Quote Post
s60v5
post
Post #5





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 17.11.2011

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


zaraz to sobie wdrożę
a jeszcze jedno pytanko - jeżeli bym chciał również dać banner dla samego index.php to biorę coś tego typu? - if(index.php) { echo '<img src>'; } ?
natomiast te numerki

  1. $banner = array(
  2. 5 => 'nazwa_dla_1.jpg',
  3. 6 => 'nazwa_dla_2.gif',
  4. 7 => 'nazwa_dla_3.png',
  5. 8 => 'nazwa_dla_4.jpg',
  6. );


odpowiadają numerkom cPatch? np cPatch=8 więc 8 => 'obrazek1.jpg' ?
Go to the top of the page
+Quote Post
Kostek.88
post
Post #6





Grupa: Zarejestrowani
Postów: 376
Pomógł: 47
Dołączył: 23.08.2007
Skąd: Warszawa

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


  1. $banner = array(
  2. 'jakas_nazwa' => 'nazwa_dla_1.jpg',
  3. 2 => 'nazwa_dla_2.gif',
  4. 3 => 'nazwa_dla_3.png',
  5. 4 => 'nazwa_dla_4.jpg',
  6. );
  7.  
  8. if( isset($_GET['cPath']) ) { // musisz tu dac warunek, czy zmienna cPath w adresie w ogole istnieje... jesli chodzi o Twoj wymysl if index.php, to musialbys kombinowac z $_SERVER['REQUEST_URI'], ale to nie ma sensu
  9.  
  10. if(file_exists('/sciezka_do_katalogu_z_grafika/' . $banner["' . $_GET['cPath'] . '"])) {
  11. echo '<img src="sciezka_do_katalogu_z_grafika/" . $banner["' . $_GET['cPath'] . '"] . ' " />';
  12. }
  13.  
  14. } else {
  15.  
  16. if(file_exists('/sciezka_do_katalogu_z_grafika/main.jpg')) {
  17. echo '<img src="sciezka_do_katalogu_z_grafika/main.jpg" />';
  18. }
  19.  
  20.  
  21. }


Cos takiego mi tylko do glowy przychodzi teraz (wiadomo, pozna pora jest wink.gif )

A tamto tak, te numerki odpowiadaja wartosci zmiennej w adresie. W sumie mozesz tam teksty, podstawic. Jak w 1 linijce w tym przykladzie wyzej ^^^^^^^^^^^^^^^^^

PS. Dobra, lece spac, bo do pracy dzis wink.gif

Ten post edytował Kaloryfer 17.11.2011, 02:46:17
Go to the top of the page
+Quote Post
s60v5
post
Post #7





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 17.11.2011

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


hej ponownie!

wyrzucało drobne błędy, zacząłem kombinować i trochę ten kod poprawiłem, nie wiem czy dobrze - teraz błędów nie ma, ale też nie działa jak powinno:
  1. $banner = array(
  2. 5 => '1.jpg',
  3. 6 => '2.jpg',
  4. 7 => '3.jpg',
  5. 8 => '4.jpg',
  6. );
  7.  
  8. if( isset($_GET['cPath']) )
  9. {
  10.  
  11. if(file_exists('http://sklep.pl/images/' . $_GET['cPath'] . '.jpg'))
  12. {
  13. echo '<img src="http://sklep.pl/images/" . $_GET["cPath"] . ".jpg">';
  14. }
  15.  
  16. } else {
  17.  
  18. if(file_exists('http://sklep.pl/images/1.jpg')) {
  19. echo '<img src="http://sklep.pl/images/1.jpg" />';
  20. }
  21.  
  22.  
  23. }

coś źle robię?

proszę o odpowiedź! pozdrawiam!
Go to the top of the page
+Quote Post
toaspzoo
post
Post #8





Grupa: Zarejestrowani
Postów: 778
Pomógł: 84
Dołączył: 29.07.2010
Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury.

Ostrzeżenie: (20%)
X----


  1. $banner = array(
  2. 5 => '1.jpg',
  3. 6 => '2.jpg',
  4. 7 => '3.jpg',
  5. 8 => '4.jpg',
  6. );
  7.  
  8. if( isset($_GET['cPath']) )
  9. {
  10.  
  11. if(file_exists('images/' . $_GET['cPath'] . '.jpg'))
  12. {
  13. echo '<img src="images/" . $_GET["cPath"] . ".jpg">';
  14. }
  15.  
  16. } else {
  17.  
  18. if(file_exists('images/1.jpg')) {
  19. echo '<img src="images/1.jpg" />';
  20. }
  21.  
  22.  
  23. }


W argumentach funkcji na serwerze podawaj pliki lokalne bez http://

A tak wgl, to po co Ci array, skoro z niego nie korzystasz?

plik styli

#logo15
{

width:975px;
margin-left:auto;
margin-right:auto;
height:155px;
background:url('images/logo25.png');
text-align:left;
}

nie zastanawia Cię to ?

Temat do zamknięcia, problem rozwiązany out of forum.


--------------------

LS Easter egg <
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 01:42