У меня есть таблица images, а в ней есть столбец images. необходимо средствами php извлечь из столбца данные и сохранить в переменную $img. Может кто подскажет, спасибо :)
Движок DLE. В целом, ситуация следующая: мне необходимо ссылку на картинку из новости вывести в тег <a href="URL" target="_blank">Картинка</a>, чтобы по клику можно было ее открыть в новом окне.
- 21.09.2011 16:51
Последний раз редактировалось OKyJIucT; 21.09.2011 в 16:54.
- 21.09.2011 18:18
Вы бы пример кода привели, что не получается
Примеров извлечения информации из БД много, не вижу смысла все подробно здесь расписывать.
Далее, картинок в посте может быть много, я так понял вы хотите хранить ссылку на одну в отдельно таблице?Спасибо сказали:
OKyJIucT(21.09.2011), - 21.09.2011 18:25
Zvеr, картинка будет всего одна в каждой новости. Я не программист, и пробовал делать по подобию того, что нашел в файлах php движка. Например:
$img->query = "SELECT `images` FROM `dle_images` WHERE `id` =$news_id";
Необходимо достать картинку из новости news_id. Эта переменная в файле фигурирует, ее дополнительно извлекать не надо. - 21.09.2011 21:20
OKyJIucT ну начало правильное, правда результат попадет не в переменную $img
Далее:Код:По идее в $image или в $image['image'] будет храниться адрес картинки.$image = $img->get_row();
А теперь:Код:Или как там, уже не помню, после чего в шаблоне использовать {IMAGE}$tpl->set('{IMAGE}', $image);
А вообще можно было сделать по другому, добавить после картинки к таблице новостей и за один запрос к новости все забирать и выводить.Спасибо сказали:
OKyJIucT(21.09.2011), - 22.09.2011 15:04
Zvеr,
Fatal error: Call to undefined method stdClass::get_row() in /usr/home/okyjiuct/data/www/25ka.ru/engine/modules/show.full.php on line 838
Вот такая ошибка получается, если сделать все, как вы сказали
$img->query( "SELECT images FROM " . PREFIX . "_images where news_id = '$news_id'" );
$image = $img->get_row($row);
$tpl->set('{IMAGE}', $image);
Вот такой вид имеет конечный код. Ошибка именно в "get_row" суда по всему, без нее ошибки нет, но и не работает)Последний раз редактировалось OKyJIucT; 22.09.2011 в 15:46.
- 22.09.2011 19:29
Так попробуйте.
PHP код:$db->query( "SELECT `images` FROM " . PREFIX . "_images where news_id = '$news_id'" );
$image = $db->get_row ();
$tpl->set('{IMAGE}', $image['images']);
- 22.09.2011 20:37
TBicTep, ошибки нет, но выводится {IMAGE} вместо ссылки что за напасть
- 22.09.2011 20:46
OKyJIucT, в каком файле ты выводиш {IMAGE} ?
Спасибо сказали:
OKyJIucT(22.09.2011), - 22.09.2011 21:11
TBicTep, fullstory.tpl, а код этот добавляю в самый конец show.full.php
---------- Сообщение добавлено 19:11 ---------- Предыдущее 18:53 ----------
$db->query( "SELECT `images` FROM " . PREFIX . "_images where news_id = '{$row['id']}'" );
$image = $db->get_row ();
$tpl->set('{IMAGE}', $image['images']);
вот этот код сработал. Нашел в коде, где фигурирует id новости, и после нее написал. Всем спасибо за помощь! :)Последний раз редактировалось OKyJIucT; 22.09.2011 в 21:26.
- 22.09.2011 21:28
В переменой $news_id точно ид новости находиться? В БД точно есть картинка для этой новости? Проверить можно так. После $image = $db->get_row (); напиши echo "$news_id"; Ну и можно написать print_r($image ); что б посмотреть что БД в ответ дает.
---------- Сообщение добавлено 19:28 ---------- Предыдущее 19:27 ----------
Оу долго я писал :) Рад что все получилось.Спасибо сказали:
OKyJIucT(22.09.2011),
Тэги топика:
Похожие темы
Темы | Раздел | Ответов | Последний пост |
---|---|---|---|
MySQL - обучение | Web программирование | 15 | 24.03.2012 15:05 |
вопрос по mySQL | Web программирование | 1 | 07.01.2011 16:57 |
Спасите MySQL! | Прочее | 9 | 21.01.2010 21:01 |