SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 28.08.2012 18:20:01

gergia
Участник
Зарегистрирован: 15.03.2011
Сообщений: 16

Как сделать правильный запрос ?

Здравствуйте!

имеем 5 фоток, запрос:
$result = @mysql_query("SELECT * FROM foto WHERE pokazov < '1000' or pokazov > '999' "); 

Выводим на показ всего 1 фото и хотим показать ее 1000 раз, после этого показать следующую фотку 1000 раз и так пока все фотки не пройдут на показ по 1000 раз а после этого когда все фотки показали по 1000 раз, нам нужно продолжить показ дальше любой фотки.
Вот что именно у нас не получается, нам нужно чтобы там где pokazov > '1000'  выполнялось бы первым до тех пор, пока показы не дойдут до 1000 на всех фотках а после нужно продолжить, тоесть чтобы после выполнялось бы это pokazov > '999' или отключалось бы это правило pokazov < '1000'.

В данном случаи первая фотка продолжает показы и после 1000 показов, менял правило в запросе так pokazov > '999' or pokazov < '1000' но без результата.

Помогите пожалуйста написать такое условие, или тут всё же без 2 запросов не обойтись ?

Неактивен

 

#2 28.08.2012 18:28:33

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Как сделать правильный запрос ?

Попробуйте через UNION.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#3 28.08.2012 20:00:58

gergia
Участник
Зарегистрирован: 15.03.2011
Сообщений: 16

Re: Как сделать правильный запрос ?

deadka написал:

Попробуйте через UNION.

Спасибо, попробуем....

Неактивен

 

#4 28.08.2012 21:28:18

gergia
Участник
Зарегистрирован: 15.03.2011
Сообщений: 16

Re: Как сделать правильный запрос ?

чтото не получается с UNION  sad

Неактивен

 

#5 30.08.2012 00:17:55

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Как сделать правильный запрос ?

ИМХО, так как вы хотите одним запросом не сделать.

Проще всего, наверное, будет всегда показывать фотку с наименьшим кол-вом показов - SELECT .. ORDER BY pokazov LIMIT 1.

P.S. А зачем у вас числа взяты в кавычки?
Писать * в запросе плохая практика, лучше перечислять нужные поля.

Неактивен

 

#6 30.08.2012 12:55:56

gergia
Участник
Зарегистрирован: 15.03.2011
Сообщений: 16

Re: Как сделать правильный запрос ?

vasya написал:

ИМХО, так как вы хотите одним запросом не сделать.

Проще всего, наверное, будет всегда показывать фотку с наименьшим кол-вом показов - SELECT .. ORDER BY pokazov LIMIT 1.

P.S. А зачем у вас числа взяты в кавычки?
Писать * в запросе плохая практика, лучше перечислять нужные поля.

Огромное спасибо за совет и за помощь!

vasya написал:

Писать * в запросе плохая практика, лучше перечислять нужные поля.

Даже, если используются все поля ?

vasya написал:

P.S. А зачем у вас числа взяты в кавычки?

Не подскажите, в каких случаи нужны кавычки, например для переменной применяемой из запроса $row['id'] и $row[id] ?

Отредактированно gergia (30.08.2012 13:46:03)

Неактивен

 

#7 30.08.2012 14:18:15

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Как сделать правильный запрос ?

gergia написал:

Не подскажите, в каких случаи нужны кавычки, например для переменной применяемой из запроса $row['id'] и $row[id] ?

http://www.php.ru/manual/language.types.array.html

Неактивен

 

#8 30.08.2012 14:21:11

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Как сделать правильный запрос ?

gergia написал:

vasya написал:

Писать * в запросе плохая практика, лучше перечислять нужные поля.

Даже, если используются все поля ?

Да. Потому что завтра может быть добавлена новая колонка в таблицу, которая в скрипте не нужна.

Неактивен

 

#9 30.08.2012 14:52:57

gergia
Участник
Зарегистрирован: 15.03.2011
Сообщений: 16

Re: Как сделать правильный запрос ?

Еще раз, огромное Вам спасибо!

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson