[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Выборка из двух таблиц с условием в цикле
ahanter
Доброго времени суток!
Есть таблица (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 - тут про массивы почитай, там тоже ошибка у тебя!

Спустя 1 час, 35 минут, 28 секунд (6.05.2012 - 00:00) ahanter написал(а):
inpost а про какие массивы Вы говорите, вроди нет их у меня unsure.gif

Спустя 59 минут, 20 секунд (6.05.2012 - 01:00) ahanter написал(а):
Вот сделал так:

$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

Спустя 2 минуты, 12 секунд (6.05.2012 - 01:15) ahanter написал(а):
Вот и я что-то похожее думал но не знал как воплотить в жызнь, СПАСИБО!

Спустя 1 минута, 25 секунд (6.05.2012 - 01:16) ahanter написал(а):
Заработало!!!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.