Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Problem z galerią. Pierwsze zdjęcie jest "puste".
Forum PHP.pl > Forum > Przedszkole
emcej
A więc tak. Jestem początkujący i podpatrzyłem kilka skryptów galerii w internecie, jednak żadna mi nie odpowiadała. winksmiley.jpg Moja galeria ma być prosta. Podział na kilka albumów, do których po przejściu mają się od razu pokazywać zdjęcia. Jedno pod drugim winksmiley.jpg Generalnie myślałem, że w końcu mi się to uda, ale jak zwykle dwa dni męczenia a efekty - mizerne.

Kod pliku: gallery.php

  1. <?php
  2.  
  3.  // Połączenie z bazą danych.
  4.  $link=mysql_connect('####','####','####')
  5.  or die('Połączenie z bazą danych nieudane..');
  6.  
  7.  // Wybieramy bazę.
  8.  mysql_query('use ####')
  9.  or die('Próba pobrania bazy danych nieudana..');
  10.  
  11.  // Sprawdzamy czy jest podany numer albumu.
  12.  if(!isset($_GET['album']))
  13.      {
  14.      echo 'Taki album nie istnieje w naszej galerii..';
  15.      }
  16.  else
  17.      {
  18.      $album=$_GET['album'];
  19.      $zapytanie=mysql_query("SELECT * FROM $album"); // Pobieramy wszystko z bazy.
  20.      $wiersze=mysql_num_rows($zapytanie); // Sprawdzamy ile w tabeli jest zdjęć.
  21.      }
  22.  
  23.  echo '<center><table border="0" cellspacing="1" cellpadding="1" width="600">';
  24.  
  25.  for ($f=0;$f<$wiersze;$f++) // Otwieramy pętlę, która będzie się robiła tyle razy, ile jest zdjęć.
  26.      {
  27.      $down=mysql_query("SELECT * FROM $album LIMIT $f");
  28.      $row=mysql_fetch_array($down);
  29.      
  30.      echo '<tr><td align=center>';
  31.      echo '<center><img src="gallery/'.$album.'/'.$row['image'].'" width=550>';
  32.      echo '</tr></td>';
  33.      }
  34.  echo '</tr>';
  35.  echo '</table><br>';
  36.  
  37.  mysql_close($link);
  38.  
  39.  ?>


Problem jest tego typu, że pokazują się dwie ramki na zdjęcia (bo tyle zdjęć dodałem do bazy), ale jedna jest pusta (z adresem: "gallery/album1/" zamiast "gallery/album1/zdjecie1.jpg") a drugie pokazuje się normalnie, jako pierwsze czyli te które powinno być na górze ("gallery/album1/zdjęcie1.jpg"). Mam nadzieję, że mnie rozumiesz. winksmiley.jpg

Pewnie jest to bajecznie proste, ale jakoś nie potrafię pojąć co jest nie tak..
Liczę na waszą pomoc. winksmiley.jpg
Foxx
A możesz szerzej opisać w czym jest problem?
Wiem, że napisałeś cośtam w temacie, ale powiedz coś więcej. Jakie objawy, przy jakich warunkach itp.

Acha, i użyj bbcode dla php bo się nie da tego czytać.
Spawnm
  1. <?php
  2. for ($f=0;$f<$wiersze;$f++) // Otwieramy pętlę, która będzie się robiła tyle razy, ile jest zdjęć.
  3.    {
  4.    $down=mysql_query("SELECT * FROM $album LIMIT $f");
  5. ?>


limit 0, daj $f=1;
emcej
Gdy wpisałem jak kazałeś, pokazało się tylko jedno zdjęcie. Zakładałem, że to przez pętle więc w:
  1. <?php
  2. for ($f=1;$f<$wiersze+1;$f++) // Otwieramy pętlę, która będzie się robiła tyle razy, ile jest zdjęć.
  3.    {
  4.    $down=mysql_query("SELECT * FROM $album LIMIT $f");
  5.    $row=mysql_fetch_array($down);
  6.    
  7.    echo '<tr><td align=center>';
  8.    echo '<center><img src="gallery/'.$album.'/'.$row['image'].'" width=550>';
  9.    echo '</tr></td>';
  10. ?>


zrobiłem zamiast $f<$wiersze, $f-1<$wiersze. Ale dąło to efekt taki, że są dwa zdjęcia, ale te same :/.
Spawnm
tylko co ty chcesz osiągnąć z tym limit... questionmark.gif
jeśli chcesz pobrać wszystkie nazwy zdjęć z bazy to daj samo
mysql_query("select * from dbname");
potem daj to w pętle z mysql_fetch_assoc i po sprawie .
emcej
Zrobiłem tak:

  1. <?php
  2. for ($f=0;$f<$wiersze;$f++) // Otwieramy pętlę, która będzie się robiła tyle razy, ile jest zdjęć.
  3.     {
  4.     $down=mysql_query("SELECT * FROM $album");
  5.     $row=mysql_fetch_assoc($down);
  6.    
  7.     echo '<tr><td align=center>';
  8.     echo '<center><img src="gallery/'.$album.'/'.$row['image'].'" width=550>';
  9.     echo '</tr></td>';
  10.    
  11.     }
  12. ?>


Niestety to samo.
Spawnm
ty znasz podstawy??

  1. <?php
  2. $down=mysql_query("SELECT * FROM $album");
  3.    while( $row=mysql_fetch_assoc($down) ){
  4.  
  5.     echo '<tr><td align=center>';
  6.     echo '<center><img src="gallery/'.$album.'/'.$row['image'].'" width=550>';
  7.     echo '</tr></td>';
  8. }
  9. ?>
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.