Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: постраничная навигация
 
 автор: Bvz   (07.05.2010 в 12:23)   письмо автору
 
 

хочу сделать запрос из 8 таблиц, не получается
[хочу сделать запрос из 8 таблиц, не получается
$num = 6;
        $page = $_GET['page'];
        $result = mysql_query("(SELECT
                            COUNT(*)

                            FROM `photo`

                            LEFT JOIN `factory`
                            ON photo.id_factory=factory.id

                            LEFT JOIN `type`
                            ON photo.id_type=type.id

                            LEFT JOIN `style`
                            ON photo.id_style=style.id

                            WHERE photo.id_factory='$factory'
                            AND photo.published=1
                            AND type.published=1
                            AND style.published=1
                            AND factory.published=1

                            
                            )

                            UNION ALL

                            (SELECT
                            COUNT(*)

                            FROM `other_photo`

                            LEFT JOIN `factory`
                            ON other_photo.id_factory=factory.id

                            LEFT JOIN `other`
                            ON other_photo.id_other=other.id

                            WHERE other_photo.id_factory='$factory'
                            AND other_photo.published=1
                            AND factory.published=1
                            AND other.published=1

                            
                            )");
        $posts = mysql_result($result,0);
        echo $posts;
        $total = intval(($posts - 1) / $num) + 1;
        $page = intval($page);
        if(empty($page) or $page < 0) $page = 1;
        if($page > $total) $page = $total;
        $start = $page * $num - $num;

                            $sql = "(SELECT
                            photo.id_factory,
                            photo.id AS id_photo,
                            photo.url AS url_photo,
                            factory.id AS id_factory,
                            factory.name AS name_factory,
                            factory.url AS url_factory

                            FROM `photo`

                            LEFT JOIN `factory`
                            ON photo.id_factory=factory.id

                            LEFT JOIN `type`
                            ON photo.id_type=type.id

                            LEFT JOIN `style`
                            ON photo.id_style=style.id

                            WHERE photo.id_factory='$factory'
                            AND photo.published=1
                            AND type.published=1
                            AND style.published=1
                            AND factory.published=1

                           

                            )

                            UNION ALL

                            (SELECT
                            other_photo.id_factory,
                            other_photo.id AS id_photo,
                            other_photo.url AS url_photo,
                            factory.id AS id_factory,
                            factory.name AS name_factory,
                            factory.url AS url_factory

                            FROM `other_photo`

                            LEFT JOIN `factory`
                            ON other_photo.id_factory=factory.id

                            LEFT JOIN `other`
                            ON other_photo.id_other=other.id

                            WHERE other_photo.id_factory='$factory'
                            AND other_photo.published=1
                            AND factory.published=1
                            AND other.published=1

                            

                            )

                            LIMIT $start, $num
                            ";

        $photo = mysql_query($sql);


выдает неправильное количество строк

где я ошибся в первом запросе?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования