Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Następny lub pierwszy - poprzedni lub ostatni rekord
Vience
post 9.06.2012, 23:24:53
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 9.06.2012

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


Witam serdecznie,
Sprawa może błaha, ale mam pewien problem, nie będę się kryć z tym, że moja wiedza z zakresu zapytań SQL jest bardzo podstawowa.

Otóż: w mam tabelę MySQL, w której gromadzę dane o zdjęciach, a wśród nich najistotniejsza informacja - ID poszczególnego zdjęcia oraz pole na numerek ID albumu, w którym zdjęcie się znajduje. Chcę zrobić sobie przeglądarkę zdjęć, która będzie działać również przez AJAXa. Wymyśliłem sobie to tak, że będę wysyłał do skryptu ID bieżąco oglądanego zdjęcia, ID albumu oraz informację czy chcę jechać do tyłu czy do przodu, ten połączy się z bazą i zwróci potrzebne mi dane, a ja już w głównym skrypcie ładnie nimi sobie pokieruję. Niby wszystko proste, ale chciałbym aby skrypt ajaxa zwracał ID najmniejszego zdjęcia związanego z albumem gdy dojdzie do najwyższego i odwrotnie - największe ID kiedy będzie przy najmniejszym. Mógłbym się tym pobawić przez PHP, ale przez MySQL będzie optymalniej jak sądzę.

Z góry serdecznie dziękuję za podpowiedzi.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
darko
post 10.06.2012, 00:44:09
Post #2





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


Trzymaj, napisałem Ci funkcję do tego:
  1. /*
  2. -- DROP FUNCTION IF EXISTS getFotoId;
  3. delimiter //
  4. CREATE FUNCTION getFotoId (ID INT) RETURNS INT
  5. BEGIN
  6.   DECLARE tmax, tmin, tnext INT;
  7.   select max(num), min(num) into tmax, tmin from test;
  8.   select num into tnext from test where num > ID limit 1;
  9. return IF(ID >= tmax, tmin, tnext);
  10. END//
  11. */
  12. -- Użycie
  13. SELECT getFotoId(9) AS fotoid
  14. -- Założenia:
  15. -- test - nazwa tabeli na której wykonujemy zapytanie
  16. -- num - klucz główny Twojej tabeli (id)


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
Vience
post 10.06.2012, 20:37:29
Post #3





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 9.06.2012

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


Dziękuję serdecznie, poprzerabiałem nieco kod (dodałem parametr ID albumu) i śmiga pięknie! Co prawda, tylko do przodu, ale główną koncepcję jakby już mam, także pogrzebie w funkcji i to rozpracuję. Dziękuję raz jeszcze!

OK, jednak jest problem. Nigdy nie pisałem swoich funkcji w MySQL, także proszę o wyrozumiałość...

Wklepywałem funkcje przzez phpMyAdmin - wszystko pięknie śmigało w testach przez takowego. Jednak kiedy korzystałem z funkcji przez php wyskoczyło function doesn't exist. Co miałbym w takim przypadku zrobić?
Go to the top of the page
+Quote Post
darko
post 11.06.2012, 00:19:20
Post #4





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


Najpierw poślij query, które ją utworzy z warunkiem DROP FUNCTION IF EXISTS, być może bez delimiterów.


--------------------
Nie pomagam na pw, tylko forum.
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: 13.08.2025 - 23:26