$num = 6;
$page = $_GET['page'];
$result = mysql_query("(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
)");
$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);
самое забавное он выдает количество полей равное id_factory, а не реальное существующее в 2-х таблицах соответственно 1-й запрос однозначно не правильно составлен
:(
$posts = mysql_result($result,0); выдает значение равное id_factory
где я ошибся?