|
|
|
| Всем привет,
делаю выборку информации из таблички и еще хотелось бы добавить фото из другой.
<?php
CREATE TABLE `hrcuts` (
`hc_id` int(11) NOT NULL AUTO_INCREMENT,
`hc_descr` text NOT NULL,
`hc_misc` tinytext NOT NULL,
`hc_hide` int(1) NOT NULL DEFAULT '0',
`galid` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`hc_id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=0 ;
CREATE TABLE `hcpics` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`hcid` int(11) NOT NULL,
`hcpic` tinytext NOT NULL,
`gid` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=0 ;
// делаю так
$start = $page * 8 - 8;
$sql = " SELECT hrcuts.*, image.hcpic, image.hcid
FROM hrcuts
LEFT JOIN
(SELECT hcpic,hcid FROM hcpics WHERE gid = $galid and hcid IS NOT NULL LIMIT 1) AS image// тут нужно выбрать по 1 картинке для каждой записи. А получается всего 1 для вех.
ON hrcuts.hc_id=image.hcid
WHERE galid = $galid
ORDER BY hc_id
LIMIT $start,8";// всего картинок на странице
// Вывод
$res = mysql_query($sql) or die("error in $sql" . mysql_error());
....
while($par = mysql_fetch_array($res))
{
if(!empty($par['hcpic']) OR
$par['hcpic'] != "-" OR
file_exists($par['hcpic'])){
$img = "<a href=''><img src='".$par['hcpic']."' alt='".$par['hc_descr']."'></a>";
} ...
?>
|
Плиз SOS.
Спасибо.
PS.
проверила этот запрос через MySql, получилось
hc_id hc_descr hc_hide galid hcpic hcid
34 test1 0 1 NULL NULL
35 test 2 0 1 NULL NULL
36 test 3 0 1 ../../../img/gal/1/36/3.JPG 36
NULL - значения не найдены? | |
|
|
|
|
|
|
|
для: sasch
(13.09.2007 в 23:31)
| | А в чём вопрос? | |
|
|
|
|
|
|
|
для: cheops
(14.09.2007 в 10:37)
| | Запрос выводит только 1 картинку, а нужно выбрать по 1для каждой информационной записи. Я тут переделала запрос но все равно что-то не так.
<?php
$sql = " SELECT hrcuts.*, image.hcpic, image.hcid
FROM hrcuts
LEFT JOIN
(SELECT * FROM hcpics WHERE gid = $galid and hcid IS NOT NULL LIMIT 1 ) AS image
ON hrcuts.galid=image.gid
WHERE galid = $galid
ORDER BY hc_id
LIMIT $start,8";
?>
|
Тут уже лучше но все равно не то. Выводится тоже только 1 картинка и распространяется на все записи. (все картинки одинаковы) | |
|
|
|
|
|
|
|
для: sasch
(14.09.2007 в 14:14)
| | sasch, все это безобразно! Конечно будет одна картинка будет распространяться на ве записи если вы возвращайте одну запись в подзапросе LIMIT1 - это каша полная.
А зачем вот это условие hcid IS NOT NULL - в таблицу уже это ограничение включено, а вы еще раз его в запросе используете. | |
|
|
|