Есть таблица (IMG)с названиями картинок и идентификатором объекта, есть несколько талбиц с (OBJECT в которых хранятся пути к изображениям) объектами (так нада).
Так вот задача вывести N (допустим 10 ) изображений, но при этом: выбираем одну запись с таблици IMG и смотрим в таблице OBJECT есть ли елемент с таким идентификатором, если есть то выбираем из него даные и выводим картинку, если нет то проверяем слещующий елемент...
Вопщем не могу представить себе как сделать Это...
Может кто болше понимает в циклах то помогите пожалуйста...
вот типа я накодил...что попало, не работает,но я даже алгоритм представить не могу:(
$imag = mysql_query("
SELECT `page`, `img`, `atitle`
FROM `img` order by rand() limit 10",$link);
$image = mysql_fetch_array($imag);
$ii=$image['page'];
while($image = mysql_fetch_array($imag)) {
$imaje = mysql_query("
SELECT `wayimg`
FROM `object`
WHERE WHERE `page`='$ii'",$link);
$imaj = mysql_fetch_array($imaje);
$iii=$imaj['wayimg'];
while($imaj = mysql_fetch_array($imaje)){
if ($ii==$iii){
echo
'<a href="'.$imaj[wayimg].''.$image[img].'.jpg" title="'.$image[atitle].'" ><img src="'.$imaj[wayimg].''.$image[img].'.jpg" class="image" alt="'.$image[atitle].'" title="'.$image[atitle].'"></a>';
}}}
Спустя 9 минут, 21 секунда (5.05.2012 - 21:52) sergeiss написал(а):
Цитата (ahanter @ 5.05.2012 - 23:43) |
Так вот задача вывести N (допустим 10 ) изображений, но при этом: выбираем одну запись с таблици IMG и смотрим в таблице OBJECT есть ли елемент с таким идентификатором, если есть то выбираем из него даные и выводим картинку, если нет то проверяем слещующий елемент... Вопщем не могу представить себе как сделать Это... |
Это делается с помощью JOIN в запросе, который позволяет как раз из разных таблиц (2-х и более) выбрать данные, связанные по определенным критериям. Найди в хэлпе JOIN и внимательно изучи.
А свой код забудь... Не код это, а так, "детский лепет ниачём".
Спустя 6 минут, 14 секунд (5.05.2012 - 21:58) ahanter написал(а):
та мой код вопще шо попало, так для кое какой наглядности выложыл...
А за совет спасибо, посмотрю.
А за совет спасибо, посмотрю.
Спустя 26 минут, 48 секунд (5.05.2012 - 22:25) inpost написал(а):
WHERE WHERE - уже ошибка.
http://php.net/manual/ru/language.types.array.php - тут про массивы почитай, там тоже ошибка у тебя!
http://php.net/manual/ru/language.types.array.php - тут про массивы почитай, там тоже ошибка у тебя!
Спустя 1 час, 35 минут, 28 секунд (6.05.2012 - 00:00) ahanter написал(а):
inpost а про какие массивы Вы говорите, вроди нет их у меня
Спустя 59 минут, 20 секунд (6.05.2012 - 01:00) ahanter написал(а):
Вот сделал так:
когда
- Column 'page' in field list is ambiguous
когда
работает
IMG
`id` `page` `img` `atitle`
OBJECT
.. `page` .. `wayimg`
Подскажите что может быть, ато засорять данными память не хочется...
$imag = mysql_query("SELECT `page`, `img`, `atitle`, `wayimg`
FROM `img`
JOIN `object`
ON img.page=object.page
order by rand()
limit 16",$link);
while($image = mysql_fetch_array($imag)or die(mysql_error())){
echo
'<a href="'.$image[wayimg].''.$image[img].'.jpg" title="'.$image[atitle].'" >
<img src="'.$image[wayimg].''.$image[img].'.jpg" class="image" alt="'.$image[atitle].'" title="'.$image[atitle].'">
</a>';
}
когда
"SELECT `page`, `img`, `atitle`, `wayimg`
- Column 'page' in field list is ambiguous
когда
SELECT *
работает
IMG
`id` `page` `img` `atitle`
OBJECT
.. `page` .. `wayimg`
Подскажите что может быть, ато засорять данными память не хочется...
Спустя 12 минут, 38 секунд (6.05.2012 - 01:12) Zhandos написал(а):
Ошибка потому что mysql не может понять из какой таблицы какие поля ты хочешь получить.
Сделай например
"SELECT `img`.`page`, `img`, `atitle`, `wayimg`
Это если значение page ты хочешь получить из таблицы img
Сделай например
"SELECT `img`.`page`, `img`, `atitle`, `wayimg`
Это если значение page ты хочешь получить из таблицы img
Спустя 2 минуты, 12 секунд (6.05.2012 - 01:15) ahanter написал(а):
Вот и я что-то похожее думал но не знал как воплотить в жызнь, СПАСИБО!
Спустя 1 минута, 25 секунд (6.05.2012 - 01:16) ahanter написал(а):
Заработало!!!