Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 10:51 17.07.25 
Компютри и Интернет
   >> PHP
*Кратък преглед

Тема galeriaнови  
Авторcveti (Нерегистриран)
Публикувано31.01.07 14:48



Здравейте!
Направих уеб галерия в база данни с mysql. Сега искам като отворя някоя снимка да се появяват бутони напред и назад и така да се разгледат всички снимки в галерията. За съжаление не мога да се сетя как в заявката да определя предишната и следващата снимка. Ясно ми е, че трябва да използвам id-то, но..... толкова.
Ще се радвам, ако някой ми помогне.



Тема Re: galeriaнови [re: cveti]  
Авторzzzzzzzzzzzzz (Нерегистриран)
Публикувано31.01.07 15:36



LIMIT offset, row_count
или в твоя случай
LIMIT $_GET['image_id'],$_GET['image_id']+1
За следваща снимка



Тема Re: galeriaнови [re: zzzzzzzzzzzzz]  
Автор Blake (член)
Публикувано31.01.07 15:53



това само ако $имаге_ид съдържа строго последователни стойности, което в общия случай лесно се нарушава като условие...



Тема Re: galeriaнови [re: Blake]  
Авторzzzzzzzzzz (Нерегистриран)
Публикувано31.01.07 16:17



Напротив.
Не е нужно стойностите да са последователни.

mysql> use test
Database changed
mysql> create table testlimit (
-> id int not null auto_increment primary key,
-> image varchar(20) not null);
Query OK, 0 rows affected (1.30 sec)

mysql> insert into testlimit(image) values('image1.jpg'),('image2.jpg'),('image3
.jpg'),('image4.jpg');
Query OK, 4 rows affected (0.37 sec)
Records: 4 Duplicates: 0 Warnings: 0

mysql> delete from testlimit where id=3;
Query OK, 1 row affected (0.27 sec)

mysql> select * from testlimit;
+----+------------+
| id | image |
+----+------------+
| 1 | image1.jpg |
| 2 | image2.jpg |
| 4 | image4.jpg |
+----+------------+
3 rows in set (0.05 sec)

mysql> select image from testlimit limit 2,1;
+------------+
| image |
+------------+
| image4.jpg |
+------------+
1 row in set (0.07 sec)


Така ... аз съм го написал също грешно. Това е станало от бързане,
Трябва да е LIMIT $_GET['image_id'],1

Но в случая първия аргумент задава стартов ред, а втория елемент задава номер на редове които да бъдат върнати в заявката



Тема Re: galeriaнови [re: zzzzzzzzzz]  
Авторпxп шмaтka (Нерегистриран)
Публикувано31.01.07 16:29



LIMIT $_GET['image_id'],1


А за да си чувал?
$limit = 'LIMIT ' . ($_GET['image_id'] ). ',1';



Тема Re: galeriaнови [re: cveti]  
Автор Myxaбeтa (минаващ)
Публикувано31.01.07 23:05



Next ->
SELECT imagepath FROM images WHERE imageID>$currentImageID ORDER BY imageID limit 0,1

Prev ->
SELECT imagepath FROM images WHERE imageID<$currentImageID ORDER BY imageID DESC limit 0,1

Или нещо подобно
Освен това трябва да имаш проверка за минимално ИД и за максимално ИД, все някога ще стигнеш края на галерията...



Тема Re: galeria [re: пxп шмaтka]  
Автор ro6aviaМодератор (усер френдли)
Публикувано02.02.07 14:26



$limit = 'LIMIT ' . mysqli_real_escape_string($_GET['image_id'] ). ',1';

Всъщност при аутоинкремент на id-то в MySQL-а е достатъчно
$limit = 'LIMIT ' .(int) $_GET['image_id']. ',1';

root@ro6avia#echo rm -rf * > /bin/seek_and_destroy
root@ro6avia#/bin/seek_and_destroy



*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2025 Dir.bg Всички права запазени.