Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]galeria
Forum PHP.pl > Forum > Przedszkole
gosienkami
mam stonicowanie zdjec i co mam zle, bo na kazdej podstronie wyswietlane jest to samo zdjęcie-1 rekord z danej kategorii.


  1. <? $wykonaj=mysql_query("SELECT * FROM galeria, kategorie where nazwa='$nazwa' and galeria.id_kategorii=kategorie.id");
  2. $znaleziono=mysql_num_rows($wykonaj);
  3. $zapytanie=mysql_query('SELECT * FROM galeria group by id_kategorii asc LIMIT '.($start).",".$na_stronie."");
  4. $row=mysql_fetch_array($wykonaj);
  5.  
  6. $id=$row['id'];
  7. $fotka1=$row['fotka1'];
  8. $fotka2=$row['minfotka'];
  9. $idkategorii=$row['nazwa'];
  10. echo $nazwa;
  11. echo $fotka1; echo $fotka2;
  12. echo $id;
  13. echo '<li><a href="galery/'.$row['fotka1'].'">';
  14. echo '<img src="galery/'.$row['minfotka'].'"/></li></a>';
  15.  
  16. //itd ?>
RafaelX
  1. <?php
  2. mysql_query("SELECT * FROM galeria group by id_kategorii asc LIMIT $start , $na_stronie");
  3. ?>


spróbuj tak

EDIT a skąd się biorą te zmienne co są w zapytaniu questionmark.gif
piotrooo89
co masz w tych zmiennych? $start i $na_stronie
gosienkami
pobiera aktualna stronę a na_stronie to po ile fotek ma być wyswietlane.
piotrooo89
no a w $start? z tablicy $_GET pobierasz? czy jak?
RafaelX
ale skąd gdzie masz jakąs wartośc do tego przypisaną questionmark.gif

  1. <?php
  2. $zapytanie=mysql_query('SELECT * FROM galeria group by id_kategorii asc LIMIT '.($start).",".$na_stronie."");
  3. $row=mysql_fetch_array($wykonaj);
  4. ?>

a powinno być
  1. <?php
  2. $zapytanie=mysql_query('SELECT * FROM galeria group by id_kategorii asc LIMIT '.($start).",".$na_stronie."");
  3. $row=mysql_fetch_array($zapytanie);
  4. ?>


Swoją drogą nie lepiej używać mysqli_*

Edit:
  1. <?php
  2. $id=$row['id'];
  3. $fotka1=$row['fotka1'];
  4. $fotka2=$row['minfotka'];
  5. $idkategorii=$row['nazwa'];
  6. echo $nazwa;
  7. echo $fotka1; echo $fotka2;
  8. echo $id;
  9. echo '<li><a href="galery/'.$row['fotka1'].'">';
  10. echo '<img src="galery/'.$row['minfotka'].'"/></li></a>';
  11. ?>

Jak chcesz żeby było kilka wyników na stronie to musi to być w jakiejś pętli
piotrooo89
Cytat(RafaelX @ 2.03.2009, 10:41:51 ) *
a powinno być
  1. <?php
  2. $zapytanie=mysql_query('SELECT * FROM galeria group by id_kategorii asc LIMIT '.($start).",".$na_stronie."");
  3. $row=mysql_fetch_array($zapytanie);
  4. ?>


zdajesz sobie sprawę że źle podałeś?

  1. <?php
  2. $zapytanie=mysql_query("SELECT * FROM galeria group by id_kategorii asc LIMIT ".$start." , ".$na_stronie."");
  3. $row=mysql_fetch_array($zapytanie);
  4. ?>


jak już.


Cytat
Jak chcesz żeby było kilka wyników na stronie to musi to być w jakiejś pętli


ale nie to jest problemem. ona nie chce wszystkiego chce natomiast inne zdjęcia się wyświetlały chyba że źle zrozumiałem...
RafaelX
sorry rzeczywiście tak by nie zadziałało,
gosienkami
$start=$_GET['start'];
$na_stronie = 1;
jak zmieniłam to wyswietla na stronie 1 i 2, a na dalszych nic
piotrooo89
kurka ale powiedz co ty chcesz osiągnąć? bo nie wiem.
gosienkami
chodzi o wyswietlanie galerii z podziałem na strony wg kategorii, (kodu stronicowania nie wklejałam),
teraz mam tak ze na wszystkich podstonach jest wyswietlana pierwsza fotka z bazy z danej kategorii.
piotrooo89
a chcesz żeby się wszystkie wyświetliły z danej kategorii?

jeśli tak to zrób pętle jak radził ~RafaelX . to $row=mysql_fetch_array($wykonaj) wrzuć do pętli.
gosienkami
mam tak i własnie dlaczego wyswietla zdjecie na 1,2 stronie a na dalszych nie wyswietla fotek.

  1. <?mysql_select_db($database_connect, $laczenie);
  2. $wykonaj=mysql_query("SELECT * FROM galeria, kategorie where nazwa='$nazwa' and kategorie.id=galeria.id_kategorii");
  3. $znaleziono=mysql_num_rows($wykonaj);
  4. $zapytanie=mysql_query('SELECT * FROM galeria group by id_kategorii asc LIMIT '.($start).",".$na_stronie."");
  5. while($row=mysql_fetch_array($znaleziono))
  6. {
  7. $id=$row['id'];
  8. $fotka1=$row['fotka1'];
  9. $fotka2=$row['minfotka'];
  10. $idkategorii=$row['nazwa'];
  11. echo $idkategorii;
  12. echo '<li><a href="galery/'.$row['fotka1'].'">';
  13. echo '<img src="galery/'.$row['minfotka'].'"/></li></a>';
  14. echo '<a href="usun1_fotke.php?id='.$id.'&amp;fotka1='.$fotka1.'&amp;fotka2='.$fotka2.'">usuń</a>'
  15. ;}
  16.  
  17.  
  18. $podstrony=floor($znaleziono/$na_stronie);
  19. if ($start>0) {
  20.  
  21. //itd stronicowania
  22. ?>


Cytat(piotrooo89 @ 2.03.2009, 10:59:53 ) *
a chcesz żeby się wszystkie wyświetliły z danej kategorii?

jeśli tak to zrób pętle jak radził ~RafaelX . to $row=mysql_fetch_array($wykonaj) wrzuć do pętli.
piotrooo89
a jak klikniesz na trzecią stronę to co masz w tej $_GET['start']? może podajesz zakres który nie istnieje?
gosienkami
wyswietla aktualna strone zakres jest a dalej nie wyswietla tylko na 1 i 2 stronie a na dalszych nie:(

moze ktos widzi dlaczego tak to działa?i gdzie jest bład
piotrooo89
a masz to na jakimś zewnętrznym serwerze?
gosienkami
nie
nospor
moze najzwyklej w swiecie masz rekordow tylko na dwie strony smile.gif

$wykonaj=mysql_query("SELECT * FROM galeria, kategorie where nazwa='$nazwa' and kategorie.id=galeria.id_kategorii");
$znaleziono=mysql_num_rows($wykonaj);
$zapytanie=mysql_query('SELECT * FROM galeria group by id_kategorii asc LIMIT '.($start).",".$na_stronie."");
Te zapytania są bzdurne, bo liczba rekordow z pierwszego zapytania może byc zupelnie inna (wieksza) niz liczba rekordow z drugiego zapytania. Generowanie zakresu i wyswietlanie danych na podstawie tych dwoch zapytan jest bez sensu.
gosienkami
rekordow mam duzo, wiec moze cos w tym zaytaniu miesza
nospor
pierwsze zapytanie zwraca ci liczbe group wraz kategoriami. jesli jedna grupa nalezy do kilku kategorii to dostaniesz te grupe przemnozoną przez liczbe kategorii.

Drugie zapytania zwraca ci tylko same grupy.

Podsumowujac: jesli kazda grup nalezy przykladodowo do 3 kategorii, a grup masz 4 to pierwsze zapytanie zwroci ci 12 rekordow, zas drugie tylko 4. Rozumiesz?

Pominalem w moim wywodze ten dziwny warunek w pierwszym zapytaniu: nazwa='$nazwa' , ktorego nie raczylas dodac do drugiego....

edit: troche sie rypnalem, bo w drugim masz grupowanie po kategorii a nie po grupie. Tak czy siak drugie zapytanie zwroci ci mniej rekordow, bo tylko same kategorie a nie tak jak pierwsze iloczyn z grup i kategorii
gosienkami
  1. <?
  2. $wykonaj=mysql_query("SELECT * FROM galeria, kategorie where nazwa='$nazwa' and kategorie.id=galeria.id_kategorii");
  3. $znaleziono=mysql_num_rows($wykonaj);
  4. $zapytanie=mysql_query('SELECT * FROM galeria, kategorie LIMIT '.($start).",".$na_stronie."");
  5. while($row=mysql_fetch_array($zapytanie))
  6.  
  7. ?>


teraz wyswietla na wszystkich stronach z tym ze na poszczegolnych kategoriach wyswietlane jest 1 zdjecie wstawione do bazy.
jak $zapytanie wstawiłam warunkunek nazwa='$nazwa' to nie wyswietla zadnych fotek


Cytat(nospor @ 3.03.2009, 08:27:59 ) *
pierwsze zapytanie zwraca ci liczbe group wraz kategoriami. jesli jedna grupa nalezy do kilku kategorii to dostaniesz te grupe przemnozoną przez liczbe kategorii.

Drugie zapytania zwraca ci tylko same grupy.

Podsumowujac: jesli kazda grup nalezy przykladodowo do 3 kategorii, a grup masz 4 to pierwsze zapytanie zwroci ci 12 rekordow, zas drugie tylko 4. Rozumiesz?

Pominalem w moim wywodze ten dziwny warunek w pierwszym zapytaniu: nazwa='$nazwa' , ktorego nie raczylas dodac do drugiego....

edit: troche sie rypnalem, bo w drugim masz grupowanie po kategorii a nie po grupie. Tak czy siak drugie zapytanie zwroci ci mniej rekordow, bo tylko same kategorie a nie tak jak pierwsze iloczyn z grup i kategorii
nospor
zrozum, drugie zapytanie ma wygladac dokladnie tak samo jak pierwsze ino ze dodane ma miec limit.....
skoro pierwsze wyglada tak: SELECT * FROM galeria, kategorie where nazwa='$nazwa' and kategorie.id=galeria.id_kategorii
to drugie tez ma tak wygladac

  1. <?php
  2. $zapytanie=mysql_query("SELECT * FROM galeria, kategorie where nazwa='$nazwa' and kategorie.id=galeria.id_kategorii LIMIT $start,$na_stronie");
  3. ?>


pozatym liczbe wierszy pobiera sie przez count() w zapytaniu, a nie poprzez pobieranie wszystkich wierszy.
gosienkami
dzieki nospor
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.