Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Skrypt wyświetlania obrazków
mareck
post 7.12.2007, 19:59:56
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 7.12.2007
Skąd: Kraków

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


Witam jestem tu nowy tak jak w php,na wstępie: szukałem i nie znalazłem sad.gif ale do zeczy potrzebuje skrypt który wyświetlałby linki do obrazków a po kliknięciu w któryś w odpowiednim miejscu wyświelał dany obrazek a po kliknięciu w kolejny link wyświetlał w tym samym miejscu odpowiedni gif tych linków na dzień dzisiejszy może być10-20 ale w przyszłości będzie ich na pewno więcej dla was to pewnie bułka z masłem a ja szukałem kombinowałem z include ale nie wychodzi ... dodawałem zmienne ale pokazywały sie tylko jakieś krzaczki.Prosze o jakis punkt zaczepienia zależy mi też aby obyło się bez bazy

pozdrawiam mareck

Ten post edytował mareck 9.12.2007, 19:09:06
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 19)
ebnott
post 7.12.2007, 23:46:06
Post #2





Grupa: Zarejestrowani
Postów: 38
Pomógł: 7
Dołączył: 2.12.2007

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


strasznie mętnie to opisales, ale tyle co zrozumialem by bylo tak:

  1. <?php
  2. //nazwa pliku obrazka bez rozszerzenia
  3. $obrazki = Array (
  4.  'nazwa_obrazka1',
  5.  'nazwa_obrazka2',
  6.  'nazwa_obrazka3',
  7. );
  8. //nazwy linkow
  9. $nazwy = Array (
  10.  'link1',
  11.  'link2',
  12.  'link3',
  13.  
  14. );
  15.  
  16. $id = 0;
  17.  
  18. //menu
  19. echo("<div style='float:left;'>")
  20. foreach($obrazki as $obrazek)
  21. {
  22.  echo("<a href='index?obrazek=$obrazek'>$nazwy[$id]</a><br />");
  23.  $id++;
  24. }
  25. echo("</div>");
  26. $gett = $_GET['obrazek'];
  27. echo("<div style='float:right;'><img src='gfx/".$gett.".jpg' alt='' /></div>")
  28. ?>



to z gifem nie zrozumialem - jaki kolejny link?? i gdzie sie ma wyswietlac??


ps. jezeli polskie znaki nie sa wymagane do zrozumienia tekstu to juz interpunkcja tak, wiec lepiej zacznij jej uzywac.

Ten post edytował ebnott 7.12.2007, 23:48:47


--------------------
Jeśli pomogłem to kliknij w
Go to the top of the page
+Quote Post
mareck
post 8.12.2007, 20:37:31
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 7.12.2007
Skąd: Kraków

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


chyba troszke namieszałem ale byłem strasznie padnięty,więc jeszcze raz, chciałbym aby mniej wiecej wyglądało to tak jak na rysunku, klikam w link 1 wyświetla obrazek 1, link 2 zmienia obrazek 1 na 2 itd.
Gdyby przy wywołaniu strony automatycznie wyswietlał się obrazek z pierwszej pozycji to byłoby idealnie, miejsce na baner narysowałem ale oczywiscie nie jest konieczne.
ebnott dzieki za odpowiedź wstępnie wrzuciłem twój skrypt ale coś mi nie chula sad.gif oczywiście wstawiam linki i nazwy, i nic sad.gif przypominam, że jestem zielony





ponawiam

Ten post edytował mareck 9.12.2007, 00:18:26
Go to the top of the page
+Quote Post
ebnott
post 9.12.2007, 01:22:43
Post #4





Grupa: Zarejestrowani
Postów: 38
Pomógł: 7
Dołączył: 2.12.2007

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


sorry, wczesniej nie sprawdzilem, poza tym glupoty nawypisywalem troche happy.gif
a tu poprawny kod:

  1. <?php
  2. //nazwa pliku obrazka bez rozszerzenia
  3. $obrazki = array (
  4.  'obraz1',
  5.  'obraz2',
  6.  'obraz3',
  7. );
  8. //nazwy linkow
  9. $nazwy = array (
  10.  'obraz1',
  11.  'obraz2',
  12.  'obraz3',
  13.  
  14. );
  15.  
  16. $id = 0;
  17.  
  18. echo("<html><body>");
  19. if(isSet($_GET['obrazek'])) $gett = $_GET['obrazek'];
  20. else $gett = "obraz1";
  21. echo("<img src='".$gett.".jpg' alt='' /><br />");
  22. foreach($obrazki as $obrazek)
  23. {
  24.  echo("<a href='index.php?obrazek=$obrazek'>$nazwy[$id]</a><br />");
  25.  $id++;
  26. }
  27. echo("</body></html>");
  28. ?>


jak czegos nie rozumiesz to pisz


--------------------
Jeśli pomogłem to kliknij w
Go to the top of the page
+Quote Post
mareck
post 10.12.2007, 13:19:04
Post #5





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 7.12.2007
Skąd: Kraków

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


ebnott to jest to!! działa świetnie tylko że ja jestem strasznie leniwy i kiedy przyjdzie mi wklepywać kilkadziesiąt linków i nazw plików to chyba zwariuje sciana.gif , więc moje pytanie jest następujące, czy jest możliwość aby link oraz dane o obrazku skrypt generował sam automatycznie z tego co czytałem tu i tam trzeba zastosować pętle ale ja sam jestam na dzien dzisiejszy troszke za include, class, id itp zwyczajnie za wysokie progi... jeszcze raz dzięki za ten skrypt thumbsupsmileyanim.gif


Czy zna ktoś sposób aby skrypt sam pobierał nazwe pliku i tworzył do niego link?

Ten post edytował mareck 10.12.2007, 13:18:43
Go to the top of the page
+Quote Post
ebnott
post 10.12.2007, 18:36:39
Post #6





Grupa: Zarejestrowani
Postów: 38
Pomógł: 7
Dołączył: 2.12.2007

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


w pelni dzialajacy skrypt, wyswietla jako linki nazwy plikow,
jesli chcesz sie pozbyc rozszerzenia z nazw mozesz dac substr($entry, 0, -4) //jak w kodzie
pod warunkiem, ze rozszerzenie pliku jest 3 literowe

  1. <?php
  2. if(isSet($_GET['obrazek'])) $gett = $_GET['obrazek'];
  3. else $gett = "domyslny_obrazek.jpg"; // jaki obrazek ma sie wyswietlic na poczatku
  4. echo("<img src='gfx/$gett' alt='' /><br />");
  5. $dir = dir("gfx"); // folder, w ktorym sa grafiki
  6. while($entry = $dir->read()) { echo("<a href='aaa.php?obrazek=$entry'>".substr($entry, 0, -4)."</a><br />"); }
  7. $dir->close();
  8. ?>


nawet krotszy niz poprzedni smile.gif

edit: chcialem tylko zauwazyc, ze wasze skrypty nie zawieraja wszystkiego tego co chcial mareck...winksmiley.jpg

Ten post edytował ebnott 10.12.2007, 19:38:36


--------------------
Jeśli pomogłem to kliknij w
Go to the top of the page
+Quote Post
b_chmura
post 10.12.2007, 19:02:51
Post #7





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

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


  1. <?php
  2. $katalog = './galeria/';
  3.  
  4. $files = scandir($katalog);
  5. foreach($files as $file)
  6. {
  7. if(!is_dir($file))
  8. {
  9. echo '<a href="'.$katalog.$file.'">'.$file.'</a>'."<br />\n";
  10. }
  11. }
  12. ?>
Go to the top of the page
+Quote Post
mrjozo
post 10.12.2007, 19:14:38
Post #8





Grupa: Zarejestrowani
Postów: 142
Pomógł: 3
Dołączył: 27.06.2007

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


może lepiej wykorzystać możliwości PHP5....

  1. <?php
  2. foreach (new DirectoryIterator('galeria') as $fileInfo) {
  3. if ($fileInfo->isFile()) {
  4. echo '<a href="'.$fileInfo->getPathname().'">'.$fileInfo->getFilename().'</a>'."<br />\n";
  5. }
  6. }
  7. ?>


--------------------
W chwili wolnego zapraszam na gry Dla każdego coś się znajdzie;)
Go to the top of the page
+Quote Post
mareck
post 11.12.2007, 20:58:14
Post #9





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 7.12.2007
Skąd: Kraków

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


ebnott jest świetnie dodałem do tego ramki wstawiłem w odpowiednie miejsce baner i jest prawie idealnie.Prawie bo wyswietla ciurkiem wszystkie linki jeden pod drugim, więc przydałoby sie stronicowanie ale popracuje nad tym na razie sam, w miare wolnego czasu sad.gif ale to jest bardzo dobre jeszcze raz dzęki pozostałym też dziękuje ale ebnott trafił w sedno

skrypt działa swietnie ale czy jest możliwość dodania do niego stronicowania wyników myslałem ,że dam sobie rade sam na podstawie jakis gotowców ale z każdym następnym coraz mniej z tego rozumie.Próbowałem z manualem "w ręku" ale zdecydowanie więcej przyswajam patrząc na jakiś przykład o ile skrypt przygotowany przez ebnotta (pozdrawiam) juz rozumie o tyle dopisanie do niego stronicowania mnie po prostu przerasta (mam nadzieje ze na razie)
no ale skrypt chciałbym aby wyswietlało 10 wyników na stronie w tej chwili skrypt wyswietla linki do wszystkich plików z danego katalogu co przy powiedzmy 40-50 linkach jest juz troszke nieporęczne

  1. <?php
  2. if(isSet($_GET['obrazek'])) $gett = $_GET['obrazek'];
  3. else $gett = "domyslny_obrazek.jpg"; // jaki obrazek ma sie wyswietlic na poczatku
  4. ");
  5. $dir = dir("gfx"); // folder, w ktorym sa grafiki
  6. while($entry = $dir->read()) { echo("".substr($entry, 0, -4)."
  7. "); }
  8. $dir->close();
  9. ?>


Ten post edytował mareck 11.12.2007, 21:06:50
Go to the top of the page
+Quote Post
ebnott
post 11.12.2007, 21:10:39
Post #10





Grupa: Zarejestrowani
Postów: 38
Pomógł: 7
Dołączył: 2.12.2007

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


to znaczy jak chcesz, zeby to ostatecznie wygladalo? co jest nie tak, bo nie rozumiem do konca o co Ci chodzi


--------------------
Jeśli pomogłem to kliknij w
Go to the top of the page
+Quote Post
mareck
post 13.12.2007, 21:19:17
Post #11





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 7.12.2007
Skąd: Kraków

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


Wszystko jest ok chodzi tylko o to, że w tej chwili wyświetlają sie linki do wszystkich plików w katalogu i jjeśli jest w nim(katalogu) np 40 plików to pieknie wyświetla mi jeden pod drugim 40 linków.Natomiast chciałbym aby wyswietlało np. 10 linków a pod spodem coś takiego:
<< 1 2 3 4 5 >>
gdzie pod jedynką byłyby linki do plików od 1-10,po kiknięciu w 2 od 11-20 itd. to sie nazywa chyba stronicowanie wyników (tak mi sie wydaje)

ponawiam
Go to the top of the page
+Quote Post
b_chmura
post 13.12.2007, 21:28:56
Post #12





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

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


dużo na temat stronicowania (paginacji) w internecie, poszukaj, spróbuj sam coś zrobić.

Na pewno będziesz potrzebował pętli for, zliczyć ilość zdjęć, wyliczyć z tego liczbę stron, ustalić liczbę wyświetlanych zdjęć na pojedynczej stronie, czysta matematyka
Go to the top of the page
+Quote Post
mareck
post 13.12.2007, 22:14:04
Post #13





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 7.12.2007
Skąd: Kraków

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


tak tylko ,że skrypt nie wyświetla galerii tylko jeden obrazek a pod nim nazwy pozostałych obrazków jako linki. i mi chodzi właśnie o to aby te linki podzielic np po 10,czy do tego też mam wykozystaśc te funkcje które podałeś?
Go to the top of the page
+Quote Post
b_chmura
post 13.12.2007, 22:53:15
Post #14





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

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


jak najbardziej

wystarczy ze do każdej aktualnej strony będziesz dodawał 5 i odejmował 4 podstrony (oczywiście jeśli nie ma tylu w przód czy w tył to tyle ile jest)
Go to the top of the page
+Quote Post
ebnott
post 13.12.2007, 22:54:18
Post #15





Grupa: Zarejestrowani
Postów: 38
Pomógł: 7
Dołączył: 2.12.2007

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


wprowadzasz wszystkie adresy do tabeli, dzielisz liczbe kluczy na 10 (masz liczbe stron), sortujesz jakos tabele (alfabetycznie, data modyfikacji jak chcesz), wyswietlasz np. 10 ostatnich kluczy, na dole wyswietlasz przejscia do innych stron... troche maty, troche kodu


--------------------
Jeśli pomogłem to kliknij w
Go to the top of the page
+Quote Post
mareck
post 13.12.2007, 23:08:17
Post #16





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 7.12.2007
Skąd: Kraków

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


ok, a czy zna ktoś jakiegoś "tutka" na temat tworzenia własnie stronicowania jako całkiem "zielonemu" na pewno łatwiej jest to zrozumiec na podstawie przykładu, a w tym dziale forum na pewno się to komuś przyda winksmiley.jpg
Go to the top of the page
+Quote Post
ebnott
post 13.12.2007, 23:16:16
Post #17





Grupa: Zarejestrowani
Postów: 38
Pomógł: 7
Dołączył: 2.12.2007

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


===>>>google nie boli<<===


po angielsku tu mam na razie i przy uzyciu MySQL'a, ale to chyba nie klopot?
http://www.designplace.org/scripts.php?page=1&c_id=25

tu chyba nie skonczony skrypt, ale zobacz:
http://forums.mysql.com/read.php?52,29159,29159


--------------------
Jeśli pomogłem to kliknij w
Go to the top of the page
+Quote Post
mareck
post 16.12.2007, 22:41:39
Post #18





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 7.12.2007
Skąd: Kraków

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


  1. <?php
  2.  
  3. ini_set ('display_errors' , 1);
  4. error_reporting (E_ALL & ~E_NOTICE);
  5.  
  6. //Pod??czenie i wyb?r bazy
  7.  
  8.  
  9. if($dbc=@mysql_connect ('localhost' , 'root' , 'krasnal')) {
  10.  
  11. if (!@mysql_select_db ('logosy')) {
  12. die('Nie mo?na wybra? bazy danych');
  13. }
  14.  
  15.  
  16. }else {
  17. die('Nie mozna po??czy? sie z MySQl');
  18. }
  19.  
  20. $limit = 5; //Liczba linków
  21.  
  22. $strona = $_GET['strona'];
  23.  
  24.  
  25. if (!isset($strona)) {
  26. $limit1 = 0;
  27. $limit2 = $limit;
  28. } else {
  29. $limit1 = $limit * $strona - $limit;
  30. $limit2 = $limit * $strona;
  31. }
  32.  
  33. //Definicja zapytania
  34. $zapytanie = "SELECT * FROM logo ORDER BY nazwa asc LIMIT $limit1,$limit2";
  35.  
  36.  
  37. if ($r = mysql_query ($zapytanie)) {
  38.  
  39. //Odczytywanie i wy?wietlenie kolejnych rekord?w.
  40. while ($wiersz = mysql_fetch_array($r)) {
  41. print "{$wiersz['nazwa']}<br />";
  42.  
  43. }
  44.  
  45. } else {
  46. die ('<p>Zapytanie nie zosta?o wykonane, bo <b>' . mysql_error() . "</b>. Zapytanie: $zapytanie.</p>");
  47.  
  48. }
  49.  
  50. echo "<left></br>";
  51. list($ile)=mysql_fetch_row(mysql_db_query("logosy","SELECT count(*) FROM logo"));
  52.  
  53. $liczba_stron = $ile / $limit;
  54. $liczba_stron = ceil($liczba_stron);
  55.  
  56. for ($v = 1; $v <= $liczba_stron; $v++) {
  57.  
  58. if ($liczba_stron == 1) {
  59. echo " $v";
  60. } else {
  61. echo " <a href=\"?strona=$v\">$v</a>";
  62. }
  63. }
  64.  
  65.  
  66. mysql_close(); //Zamkni?cie po??czenia.
  67.  
  68.  
  69. ?>


a jak zrobić aby wyswietlane nazwy były linkami do danego obrazka?
wykorzystuje kod znaleziony na tym forum, wydaje mi się że trzeba było zacząc od razu od bazy i w tym kierunku starac sie rozwiązac problem

ponawiam
Go to the top of the page
+Quote Post
b_chmura
post 17.12.2007, 00:15:15
Post #19





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

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


http://forum.php.pl/index.php?s=&showt...st&p=420205
Go to the top of the page
+Quote Post
mareck
post 17.12.2007, 22:34:49
Post #20





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 7.12.2007
Skąd: Kraków

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


mam prosbe ,potrzebuje pomocy udało mi sie dostosować skrypt znaleziony na forum do moich potrzeb ,ale niestety nie do końca sad.gif pierwszy problem jest taki iz, po przejściu na kolejną strone w paginacji i kliknięciu na link obrazka otwiera się on na pierwszej stronie,natomiast druga sprawa to raczej kosmetyka, chciałbym aby po przełączeniu na kolejną strone atomatycznie otwierał sie pierwsz obrazek z listy na stronie np 1 strona obrazki od 1-5 po włączeniu strony wyswietla 1 obrazek, po przejściu na 2 strone stronicowania obrazki od 6-10 domyslnie wyświetla 6 obrazek itd

połączyłem tutaj skrypt z forum oraz kod który napisał ebnott
  1. <?php
  2. if(isSet($_GET['obrazek'])) $gett = $_GET['obrazek'];
  3. else $gett = ""; // jaki obrazek ma sie wyswietlic na poczatku
  4. echo("<img src='catalogue/a/$gett' alt='' /><br />");
  5.  
  6. ini_set ('display_errors' , 1);
  7. error_reporting (E_ALL & ~E_NOTICE);
  8.  
  9. //Pod??czenie i wyb?r bazy
  10.  
  11.  
  12. if($dbc=@mysql_connect ('localhost' , 'root' , 'krasnal')) {
  13.  
  14. if (!@mysql_select_db ('logosy')) {
  15. die('Nie mo?na wybra? bazy danych');
  16. }
  17.  
  18.  
  19. }else {
  20. die('Nie mozna po??czy? sie z MySQl');
  21. }
  22.  
  23. $limit = 5; //Liczba linków
  24.  
  25. $strona = $_GET['strona'];
  26.  
  27.  
  28. if (!isset($strona)) {
  29. $limit1 = 0;
  30. $limit2 = $limit;
  31. } else {
  32. $limit1 = $limit * $strona - $limit;
  33. $limit2 = $limit * $strona;
  34. }
  35.  
  36. //Definicja zapytania
  37. $zapytanie = "SELECT * FROM logo ORDER BY nazwa asc LIMIT $limit1,$limit2";
  38.  
  39.  
  40. if ($r = mysql_query ($zapytanie)) {
  41.  
  42. //Odczytywanie i wy?wietlenie kolejnych rekord?w.
  43. while ($link = mysql_fetch_array($r)) {
  44. print "<a href=?obrazek={$link['nazwa']}>{$link['nazwa']}<br />";
  45.  
  46.  
  47.  
  48. }
  49.  
  50.  
  51.  
  52.  
  53. } else {
  54. die ('<p>Zapytanie nie zosta?o wykonane, bo <b>' . mysql_error() . "</b>. Zapytanie: $zapytanie.</p>");
  55.  
  56. }
  57.  
  58. echo "<left></br>";
  59. list($ile)=mysql_fetch_row(mysql_db_query("logosy","SELECT count(*) FROM logo"));
  60.  
  61. $liczba_stron = $ile / $limit;
  62. $liczba_stron = ceil($liczba_stron);
  63.  
  64. for ($v = 1; $v <= $liczba_stron; $v++) {
  65.  
  66. if ($liczba_stron == 1) {
  67. echo " $v";
  68. } else {
  69. echo " <a href=\"?strona=$v\">$v</a>";
  70. }
  71. }
  72.  
  73.  
  74.  
  75. mysql_close(); //Zamkni?cie po??czenia.
  76.  
  77.  
  78. ?>
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 Wersja Lo-Fi Aktualny czas: 19.07.2025 - 17:22