Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Составление SQL-запросов > sql запрос и т.д.


Автор: aolaaoo 28.6.2012, 16:10
есть запрос, который позволяет выводить первые десять записей из базы данных согласно условия: 
$result = mysql_query("SELECT turs.name, turs.age, city.city, turs.email, turs.phone, sex.sex, country.country, date.date, turs.opus, turs.photo, DATE_FORMAT(turs.dateob, '%d-%m-%Y') AS dateob 
FROM sex INNER JOIN (date INNER JOIN (country INNER JOIN (city INNER JOIN turs ON city.id_c = turs.city) ON country.id_co = turs.visitcountry) ON date.id_d = turs.date) ON sex.id_s = turs.sex".$strWhere." ORDER BY turs.dateob DESC LIMIT 10",$db); 

существует второй запрос, который срабатывает при нажатий кнопки, позволяет выводить следующих десяти записей из базы данных (результаты поиска): 
$result = mysql_query("SELECT turs.name, turs.age, city.city, turs.email, turs.phone, sex.sex, country.country, date.date, turs.opus, turs.photo, DATE_FORMAT(turs.dateob, '%d-%m-%Y') AS dateob 
FROM sex INNER JOIN (date INNER JOIN (country INNER JOIN (city INNER JOIN turs ON city.id_c = turs.city) ON country.id_co = turs.visitcountry) ON date.id_d = turs.date) ON sex.id_s = turs.sex".$strWhere." ORDER BY turs.dateob DESC LIMIT $num, 10",$db); 

они одинаковы, меняется только параметр LIMIT... 
в переменную $ strWhere записано условие поиска Where ...

когда выводятся следующие 10 записей, некоторые записи дублируются, то есть выводятся повторно с первой страницы .. в чем проблема? возможно индексы какие-то?






если упростить запрос, оставить только это 
$ result = mysql_query ("SELECT turs *. 
FROM (SELECT * FROM turs ". $ StrWhere.") Turs ORDER BY turs.dateob DESC LIMIT 10 ", $ db); 

$ result = mysql_query ("SELECT turs *. 
FROM (SELECT * FROM turs ". $ StrWhere.") Turs ORDER BY turs.dateob DESC LIMIT $num, 10 ", $ db); 

то все классно работает .. конечно кроме связей ..

Автор: Zloxa 28.6.2012, 16:13
О! Четвертая попытка  
Видать ОЧЕНЬ, ОЧЕНЬ, ОЧЕНЬ нужно  smile 

Автор: aolaaoo 28.6.2012, 16:41
на случай, если сюда кто-то заглянет, кроме Zloxa


если убрать сортировку 
ORDER BY turs.dateob DESC


то все здорово работает. 

но необходима сортировка по дате ..

Автор: Zloxa 28.6.2012, 16:50
Цитата(aolaaoo @  28.6.2012,  17:10 Найти цитируемый пост)
. в чем проблема? 

Осмелюсь предположить - в недетерменированности критерия ранжирования.
По каким критериям вы обнаружили, что на второй странице выводятся те-же записи? Добавьте необходимые поля в order by

Автор: aolaaoo 28.6.2012, 17:06
о ..) вроде как  заработало, спасибо ..)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)