Форум » Система построения сайтов » Блоки » Блок картинок не выводит title из базы данных
Открыть Ответить

Блок картинок не выводит title из базы данных

01.05.2014 22:20:00 08.05.2014 17:42:30

Подскажите, пожалуйста, что нужно дописать в коде, чтобы из базы данных можно было подтянуть title продукта, к сожалению не силен в пропысывании разного вида запросов в BD.

Код сейчас выглядит так:

<?php
 
if (!defined("BLOCK_FILE")) {
Header("Location: /index.php");
exit;
}

global $short, $spconf;
$path = "images/shop/all/";


if (!is_array($short['img']) || count($short['img'])==0) {
$dir = opendir($path);
while ($file = readdir($dir)) { 
$id = substr($file, 0, -4);
if (is_file($path.$file) && preg_match("#\.png$#si", $file) && is_array($spconf['sac']['only'][$id])) $short['img'][] = $file;
}
closedir($dir);
}
unset($id);

if (is_array($short['img']) && count($short['img'])>0) {
$rand = rand(0,count($short['img'])-1);
$img = $short['img'][$rand];
$id = substr($img, 0, -4);
if (count($spconf['sac']['only'][$id])==1 && $spconf['sac']['only'][$id][0]==1) $spconf['sac']['only'][$id][0]='UNI';
unset($short['img'][$rand]);
$short['img'] = array_values($short['img']);
$content = "<a href='shop-view-.html".$id."' target='_self'><img src=\"".$path.$img."\" border=\"0\" alt=".$title."></a>";
$content .= '<h5><small>Veľkostí:<br />'.wordwrap(implode(', ',$spconf['sac']['only'][$id]),25,'<br />').'</small></h5>';
}
?>


Та же песня с файлом, \blocks\block-banner_top.php - в строке 29
не могу понять почему не работают <alt>, выводить не хочет…

<alt> тянется с db _gizzo_shop title
29ая строка в коде PHP

Принт-скрин части базы данных с описанными title:
База данных - выдержка малой части PHP

SLAED CMS 4.* Pro
PHP 5
Сервер в интернете
gizzo
  • Группа: Клиент
  • Пункты: 10975
  • Регистрация: 15.10.2009
  • Пол: Мужчина
  • Из: Москва
gizzo
4.10

4.10

В коде приведённом выше не увидел какого либо запроса в базу данных. Соответственно и титлу взяться не от куда...

Пример обычного запроса, для Вашего случая:

list($title) = $db->sql_fetchrow($db->sql_query("SELECT title FROM ".$prefix."_gizzo_shop WHERE id='".$id."'"));


$title - Содержание титла из базы
$id - Уникальный идентификатор строки таблицы базы, в Вашем случае возможно использование uniq, соответственно подкорректируете в запросе.

id или uniq должен быть известен, но исходя из того что информация о картинках читается из директории на хостинге (судя по выше приведённому Вами коду), то возможно потребуется запрос в базу по другим параметрам, например, название файла.


О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
SLAED CMS
  • Группа: Клиент
  • Пункты: 39063
  • Регистрация: 30.04.2005
  • Пол: Мужчина
  • Из: Germany
SLAED CMS
3.24

3.24

вставляю, предложенный код в 10 строку, сохраняюсь - и все летит, т.е. при обновлении любой из страниц сайта - вылетает белый экран.

Помогите, пожалуйста, как правильно вставить предложенный запрос с базы данных, чтобы система не слетала. Спасибо!

SLAED CMS 4.* Pro
PHP 5
Сервер в интернете
gizzo
  • Группа: Клиент
  • Пункты: 10975
  • Регистрация: 15.10.2009
  • Пол: Мужчина
  • Из: Москва
gizzo
4.10

4.10

Активируйте отображение PHP ошибок в конфигурациях безопасности и покажите сообщение об ошибке.


О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
SLAED CMS
  • Группа: Клиент
  • Пункты: 39063
  • Регистрация: 30.04.2005
  • Пол: Мужчина
  • Из: Germany
SLAED CMS
3.24

3.24

Вот этого не делал ни разу - можно поподробнее, в каком файле на FTP и в какой строке нужно активировать это явление, а потом где я могу достать это сообщение, чтобы его показать или оно появиться после обновления страницы непосредственно в поле сайта, подскажите, пожалуйста. Спасибо!

SLAED CMS 4.* Pro
PHP 5
Сервер в интернете
gizzo
  • Группа: Клиент
  • Пункты: 10975
  • Регистрация: 15.10.2009
  • Пол: Мужчина
  • Из: Москва
gizzo
4.10

4.10

Файл: config/config_security.php
Значение: $confs['error'] = "1";

Сообщение появится в случае появления ошибки при обновлении страницы.


О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
SLAED CMS
  • Группа: Клиент
  • Пункты: 39063
  • Регистрация: 30.04.2005
  • Пол: Мужчина
  • Из: Germany
SLAED CMS
3.24

3.24

06.05.2014 22:13:00 08.05.2014 17:45:36

Super, да вывел стору с ошибкой, вот она:

Fatal error: Call to a member function sql_fetchrow() on a non-object in /data/clients/nic/gizzo.sk/www/blocks/block-banner_top.php on line 10

Вот то, что я ввел в файл, десятой строкой:


Вот то что я ввел

А это появилось, после обновления страницы:

А это появилось

SLAED CMS 4.* Pro
PHP 5
Сервер в интернете
gizzo
  • Группа: Клиент
  • Пункты: 10975
  • Регистрация: 15.10.2009
  • Пол: Мужчина
  • Из: Москва
gizzo
4.10

4.10

Необходимо добавить в глобальные, недостающие переменные, а именно замените:

global $short, $spconf;


На:
global $prefix, $db, $short, $spconf;


Просьба на будущее, если публикуете графику, размещайте у нас на сайте, смотрите функцию загрузки в ББ Редакторе.


О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
SLAED CMS
  • Группа: Клиент
  • Пункты: 39063
  • Регистрация: 30.04.2005
  • Пол: Мужчина
  • Из: Germany
SLAED CMS
3.24

3.24

Да, вставил, - система больше ошибку не выдает, но и title всё равно не тянет из базы, пробовал так же вместо id ставить uniq -не помогло.

global $prefix, $db, $short, $spconf;
$path = "images/shop/all/";

list($title) = $db->sql_fetchrow($db->sql_query("SELECT title FROM ".$prefix."_gizzo_shop WHERE id='".$id."'"));


$short['img'] = array_values($short['img']);
$content = "<a href='index.php?name=shop&op=view&id=".$id."' target='_self'><img src=\"".$path.$img."\" border=\"0\" alt=".$title."></img></a>";
$content .= '<h5><small>Veľkostí:<br />'.wordwrap(implode(', ',$spconf['sac']['only'][$id]),25,'<br />').'</small></h5>';


Посмотрите, пожалуйста, что не так - то, что уже без ошибки - значит на верном пути...

SLAED CMS 4.* Pro
PHP 5
Сервер в интернете
gizzo
  • Группа: Клиент
  • Пункты: 10975
  • Регистрация: 15.10.2009
  • Пол: Мужчина
  • Из: Москва
gizzo
4.10

4.10

Я об этом писал изначально:

id или uniq должен быть известен, но исходя из того что информация о картинках читается из директории на хостинге (судя по выше приведённому Вами коду), то возможно потребуется запрос в базу по другим параметрам, например, название файла.



По каким известным/существующим параметрам должно определится изображение из базы?


О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
SLAED CMS
  • Группа: Клиент
  • Пункты: 39063
  • Регистрация: 30.04.2005
  • Пол: Мужчина
  • Из: Germany
SLAED CMS
3.24

3.24

Всего: 12 на 2 страницах по 10 на каждой странице

1 2
Открыть Ответить

Хотите опробовать SLAED CMS в действии?

Идеи и предложения
Обратная связь