![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 6.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Mam galerię zdjęć w bazie danych. Każde zdjęcie na stronie otwiera się pojedynczo potem trzeba je zamknąć i otworzyć kolejne. Chcę zrobić aby po otwarciu się był link "następne" i po jego kliknięciu pojawiało się kolejne zdjęcie bez konieczności zamykania otwartego już okna. Problemu nie ma bo zastosowałem:
Kod $zapytanie=mysql_query("select * from zdjecia where id='$zo_d1[id]'"); if (mysql_num_rows($zapytanie)==0) { jesli ilośc wyników różna od 0 czyli nie znaleziono to .............................?............................ tu jest problem bo nie wiem co zrobić gdy zdjęcie nie istnieje }else { $y=$zo_d1[id]+1; gdy zdjęcie istnieje do adresu dodaje +1 i wysietla kolejne zdjęcie np 456 } <a href="<?php echo"$adres/z/$y/$gl_tablink/"; ?>">NASTĘPNE</a> Adres strony mam taki: Kod www.domena/z/667/Array/ liczba to id zdjecia ktore istniejejesli doda mi skrypt +1 czyli otworzy 668, ale jeśli tego zdjęcia nie będzie w bazie to jak zrobić by przeskoczyło do następnego? (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Proszę o pomoc bo już się pogubiłem. Ten post edytował Manioo 14.06.2008, 10:39:04 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 374 Pomógł: 149 Dołączył: 1.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Problemu nie ma bo... No to właściwie w czym problem?? A zapytanie do pierwszego zdjęcia zrobiłabym tak?
Wtedy weźmie Ci pierwsze zdjęcie i następne, odpadnie problem że może nie być zdjęcia o taki id. Do następnych zdjęć wzięłabym id z drugiego rekordu i dała zapytanie:
Możesz od razu zacząć od ustawienia początkowego
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 6.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
coś mi nie wychodzi
Gdy mam otworzoną podstronę np. zdjęcie Kod [url="http://www.domna/z/647/Array/"]http://www.domna/z/647/Array/[/url] o numerze 647 chodzi o zmianę w linku Kod <a href="<?php echo"$adres/z/$y/$gl_tablink/"; ?>">NASTĘPNE</a> aby tej zmiennej $y w linku przyporzadkować kolejną liczbę +1 zdjęcia która istnieje to samo jeśli chciałbym dać POPRZEDNIE zdjęci czyli -1 jesli np nie ma kolejnego żeby automatycznie w linku pokazywało np 650 jako kolejne. Nie wiem jak to wymyślić żeby dobrze było. Ten post edytował Manioo 8.06.2008, 22:06:37 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 40 Pomógł: 3 Dołączył: 4.01.2007 Skąd: Starogard GD->Gdynia Ostrzeżenie: (0%) ![]() ![]() |
nie jestem pewien ale w zapytaniu SQL jest coś takiego jak IF EXISTS tamk sam w php np if(file_exists) i wtedy możesz się bawić tą swoją tablicą np
$array[$i++] ,na przykład kiedy nie wykryje pliku. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 6.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
faktycznie chyba o to chodzi bo jesli nie wykryje zdjecia o danym numerze to go po prostu ni wyswietli,
tylko jak to zrobić ? to działa: Kod $y=$zo_d1[id]+1; gdy <a href="<?php echo"$adres/z/$y/$gl_tablink/"; ?>">NASTĘPNE</a> wówczas wyświetla kolejne zdjęcie np Kod [url="http://www.domena/z/651//"]http://www.domena/z/651//[/url] $zo_d1[id] - to jest nazwa zdjecia oraz id zdjecia ale jak juz dam nastepne i bedzie 652 którego nie ma w bazie ponieważ np zostało usunięta to zamiast wyświetlać kolejne to jest: Warning: getimagesize(http://www.domena//duzy/.jpg) [function.getimagesize]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/domena/ftp/domena/inc/strona/zobacz.php on line 90 Ten post edytował Manioo 8.06.2008, 22:07:37 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 40 Pomógł: 3 Dołączył: 4.01.2007 Skąd: Starogard GD->Gdynia Ostrzeżenie: (0%) ![]() ![]() |
ja tak nie potrafie z głowy pisać ale moge ci pokazać schemat
to jest tylko zarys (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Ten post edytował toch18 6.06.2008, 13:32:11 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 033 Pomógł: 125 Dołączył: 17.09.2005 Skąd: Żywiec Ostrzeżenie: (0%) ![]() ![]() |
1. Podczas wyświetlania zdjęcia również sprawdzaj, czy znaleziono ID w bazie, np.:
2. Co do linków POPRZEDNI, NASTĘPNY: Pobierz sobie z bazy danych: - Najmniejsze ID większe od $_GET['id']; - Największe ID mniejsze od $_GET['id']; Czyli 2 proste zapytania z WHERE, ORDER BY i LIMIT. Ewentualnie jedno, jeśli użyjesz UNION Potem już tylko wystarczy sprawdzić, czy zapytanie zwróciło wynik, i jeśli tak to wyświetlić link do poprzedniego/następnego zdjęcia, a jeśli nie to nie wyświetlać nic. Ten post edytował Kicok 6.06.2008, 14:49:35 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 6.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
ogólnie wcześniejszego jak tak pomyslałem to wystarczy zmienić zmienną w linku (cyfre) na kolejną aby kolejne zdjęcie się wyświetlało, ale blad jest gdy dane zdjecie nie wystepuje (bo zmienna w linku jest to id zdjecia), wowczas należalo by zmienną w linku jakos polaczyc z id aby gdy koljena cyfra w bazie danych id nie wystepuje bralo kolejna az wyswietli tą ktora istnieje. ale jak to zrobic, dokladny kod
Kod <a href="<?php echo"$adres/z/$zo_d1[id]/$gl_tablink/"; ?> $zo_d1[id] - zmienna linku czyli także id zdjecia ona ma się zmieniać $zo_d1[id]+1; to działa jesli jest kolejne id a jesli nie ma to jest blad i wlasnie jak to zrobic? (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Chodzi tylko aby zmieniać adres (cyfre) w linku Ten post edytował Manioo 8.06.2008, 22:07:55 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 374 Pomógł: 149 Dołączył: 1.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Kilka postów wyżej Ci napisałam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Ten post edytował JoShiMa 7.06.2008, 13:16:05 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 6.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
ale co dalej? Proszę o cały kod żrodłowy bo jestem w programowaniu kiepski (+ przecinki i kropki cudzysłowy nawiasy (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ), i jak by to wyglądało także z linkiem POPRZEDNIE czyli -1 nie mówiąc już że chciałbym porusać się tylko w jednej kategorii zdjęć nie wszystkich w bazi ale to inna kwestia
Próbowałem tak i nie idzie: Kod <?php
$zapytanie=mysql_query("select * from zdjecia where id='$zo_d1[id]'"); if (mysql_num_rows($zapytanie)==0) { $z=("SELECT * FROM zdjecia WHERE id >= '$zo_d1[id]' ORDER BY id LIMIT 2"); $y=z+1; } else { $y=$zo_d1[id]+1; } ?> <a href="<?php echo"$adres/z/$y/$gl_tablink/"; ?>"><font color="#FF4000">NASTĘPNE >></font></a> </center> Ten post edytował Manioo 8.06.2008, 22:08:14 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 3 Dołączył: 29.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
kiedys cos podobnego robilem, mozna pewnie ladniej ale prosciej to chyba sie nie da juz. Trzy zapytania do bazy, jedno zeby pobrac aktualne zdjecie, jedno zeby pobrac nastepne i jedno zeby pobrac poprzednie.
Kicok pisał o co chodzi i co sie tu dzieje. |
|
|
![]()
Post
#12
|
|
Grupa: Przyjaciele php.pl Postów: 1 595 Pomógł: 282 Dołączył: 24.09.2007 Skąd: Reda, Pomorskie. Ostrzeżenie: (0%) ![]() ![]() |
kolego Manioo, prosze niezwłocznie dodać odbowiednie znaczniki BBcode do wszystkich swoich postów albo temat zostanie zamknięty!
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 6.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Odnośnie bbcode już rozumiem i zastosowałem się do tego.
Jesteście świetni wszystko działa dzięki powyższemu skryptowi!! Mam jeszcze jedno pytanie jak by to zrobić gdyby po kliknięciu na zdjęcie w danej kategorii po kliknięciu w nastepne czy poprzednie wyskakiwały zdjęcia tylko z danej kategorii a nie z całej bazy? |
|
|
![]()
Post
#14
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Dodaj do WHERE warunek sprawdzający kategorię. ;]
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 6.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Mógłbyś to dodać do powyższego kodu to byś pomógł bardzo oraz aby wyświetlało także nazwę kategorii przeglądanego zdjęcia
nazwa tabel: ZDJECIA: ID, KATEGORIA (NUMER ID Z KATEGORII), TYTUL, OPIS, OCENA, itd. KATEGORIE: ID, NAZWA PRoszę o pomoc (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ? Chodzi o to żeby po wybraniu zdjęcia wyświetla je i poniżej są linki POPRZEDNIE NASTĘPNE wszystko działa ale zdjęcia przeglądają się wszystkie z całej bazy, a mi chodzi żeby tylko z wybranej kategorii wyświetlonego zdjęcia. Jak dokładnie zmienić powyższy kod napisany przez ppp v?? Ten post edytował Manioo 11.06.2008, 21:06:32 |
|
|
![]()
Post
#16
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 6.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
ok działa (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) , a jak żeby wyświetlić nazwę tej kategorii np. Wyświetlana kategoria:
nazwa kategorii zapisana jest w innej tabeli pod nazwą kategorie tak jak podalem w poprzednim tekscie Oto w tej chwili działający skrypt: Kod <?php
$aktualne = mysql_fetch_assoc(mysql_query("SELECT * FROM linki WHERE id='$zo_d1[id]' and kategoria='$zo_d1[kategoria]' ")); $poprzednie = mysql_fetch_assoc(mysql_query("SELECT * FROM linki WHERE id<'$zo_d1[id]' and kategoria='$zo_d1[kategoria]' ORDER BY id DESC LIMIT 1")); $nastepne = mysql_fetch_assoc(mysql_query("SELECT * FROM linki WHERE id>'$zo_d1[id]' and kategoria='$zo_d1[kategoria]' ORDER BY id ASC LIMIT 1")); if ($poprzednie) { echo "<a href=\"$adres/z/$poprzednie[id]/$gl_tablink/\"><font color=\"#FF4000\"><< POPRZEDNIE</font></a> </center>"; } ?> <a href="javascript:history.back();" onclick><font size="2" color="lime"><b>POWRÓT</b></font></a> <?php if ($nastepne) { echo " <a href=\"$adres/z/$nastepne[id]/$gl_tablink/\"><font color=\"#FF4000\">NASTĘPNE >></font></a> </center>"; } ?> Ten post edytował Manioo 11.06.2008, 21:06:08 |
|
|
![]()
Post
#18
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
|
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 6.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Czytałem na temat JOIN w google lecz nadal nie wiem jak tego użyć by wywołać nazwę kategorii w dowolnym miejscu (nic mi nie wychodzi). Proszę o krótki kodzik.
Dla podpowiedzi: gdy podaje poniższe dane wyświetla się numer kategorii zamiast nazwa. Teraz należy polaczyc sie z druga tabela o nazwie KATEGORIE gdzie mamy ID i NAZWĘ. No i należy pobrać tę nazwę z ID czyli $zo_d1[kategoria] - pod tą zmienną jest ID kategorii. Lecz nazwa tej kategorii jest w innej tabli o nazwie KATEGORIEE gdzie jest ID i NAZWA Motam się nie mogę sobie poradzić. PRoszę o pomoc jak wyświetlić tę nazwę bo nie mogę sobie poradzić z tym JOIN. Kod <?php echo"$zo_d1[kategoria]"; ?> PS. Zadanie powinno być dla doświadczonych z sqlem proste, więc zadam trudniejsze jak coś. Wyświetlić kategorię która jest obecnie wyświetlana lecz w polu wybieralnym. Gdzie w każdym momencie można wybrać inną kategorię. Ten post edytował Manioo 12.06.2008, 16:10:41 |
|
|
![]()
Post
#20
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat PS. Zadanie powinno być dla doświadczonych z sqlem proste, więc zadam trudniejsze jak coś. Wyświetlić kategorię która jest obecnie wyświetlana lecz w polu wybieralnym. Gdzie w każdym momencie można wybrać inną kategorię. Zaliczenie, czy jak? http://www.google.com/search?hl=pl&cli...=Szukaj&lr= ... |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 10:59 |