gims

Рейтинг
4
Регистрация
13.03.2014
SeVlad:

забыл перелогиниться? ;)

да, спасибо

Кто занимается разработкой скриптов напишите какова будет стоимость разработки такого скрипта для определенной версии шаблона.

дани мапов:
Берите шаблонизатор из нужного движка, тогда и шаблоны подойдут.

Вы занимаетесь такой работой?

А если отправим запрос на удаление бд? Нам еще надо думать про безопасность.

Stek:
Давайте вернемся к математике второго класса. Разложите перед собой 10 спичек . Отсчитайте 3 - это ваш текущий ID. Каким образом, две спички слева, можно превратить в 5 результатов ?

Кто сказал что спичек десять?

Stek:

Проверить число записей в рекордсете. А далее в зависимости от выбранного языка программирования, при помощи оператора IF делать нужные выборки.
Еще раз, решение выше. Проще уже некуда.

Эх.. Решение чего? Я несколько раз написал задачу.

Нужно вытащить 5 записей справа и 5 слева. Если нет в конце или вначале брать с обратной стороны.

Например:

Если id = 3 нужно получить n-3, n-2, n-1, 1, 2, 4, 5, 6, 7, 8

Stek:
Я же вам привел уже самое простое решение. Неужели так сложно подставить свои цифры ?

select * from product where id > 3 order by id asc limit 10 # следующий товар
select * from product where id < 3 order by id desc limit 10 # предыдущий товар

Я что ваш юмор не понимаю? Это все уже писали выше.

Как вы себе это представили "id < 3 order by id desc limit 10" ? Сколько вернется результатов?

Нужно получить 10 результатов. 5 справа, 5 слева (это все условно, количество не важно)

При том что даже id =1 должно быть 10 результатов. Например если нет данных слева брать данные с конца.

Десятью запросами и сам могу написать. Хочу увидеть простое решение.

Mad_Man:

... и предсказуемым. Довольно удобно выкачивать чужие фотки\доки и прочий хлам с файлопомойки, которая инкрементит адрес нового файла.

Кому надо тот в любом случае вытащит. Например как в нашем случае картинки нужны для сайта. Что стоит написать парсер который пробежит по сайту и выкачает фотки?

Stek:
Вы хотите узнать расстояние до ближайших городов, но при этом совершенно не важно, где вы находитесь. Как то так у вас выходит :)

На вскидку :
select * from product where id > {current_id} order by id asc limit 1 # следующий товар
select * from product where id < {current_id} order by id desc limit 1 # предыдущий товар

С чего вы взяли что не важно? Я сказал что нахожусь на id=3. Мне нужно получит 10 результатов. И сделать это максимально просто.

Yur_OK:

p.s. Прокомментируйте, пожалуйста, решение для генерации короткого имени /ru/forum/comment/12838177, т.к. задействовал его в рабочем проекте интересует мнение специалиста в этом вопросе.

На мой взгляд это единственный нормальный вариант. Сделать поле автоинкремент, брать его значение и преобразовать из десятичной системы в 62-ричную. Значение будет коротким и 100% уникальным.

VulkanPartner:
При условии, что id начинаются с 1 и идут подряд, то 5 с одной стороны и 2 с другой, итого будет 7.

Спасибо, я хотел сказать что это не решает задачу

дани мапов:
MySQL


(
SELECT *,
'next'
FROM tablename
WHERE `id` > 15
ORDER BY `id`
LIMIT 5
)
UNION
(
SELECT *,
'previous'
FROM tablename
WHERE `id` < 15
ORDER BY `id` DESC
LIMIT 5
)

Нам нужно получить 10 результатов, правильно?

Что будет если мы сделаем этот запрос для id = 3.

Сколько мы получим результатов?

12
Всего: 18