Чтение RSS каналов

Форум

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

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

0

0
1
01.05.2014 22:20:0008.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: PHP 5
Сервер: Сервер в интернете
4.27

4.27
2
02.05.2014 21:50:23
В коде приведённом выше не увидел какого либо запроса в базу данных. Соответственно и титлу взяться не от куда...

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

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


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

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

О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
3.24

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

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


Версия системы: SLAED CMS 4.* Pro
Версия PHP: PHP 5
Сервер: Сервер в интернете
4.27

4.27
4
06.05.2014 20:24:28
Активируйте отображение PHP ошибок в конфигурациях безопасности и покажите сообщение об ошибке.

О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
3.24

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


Версия системы: SLAED CMS 4.* Pro
Версия PHP: PHP 5
Сервер: Сервер в интернете
4.27

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

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

О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
3.24

3.24
7
06.05.2014 22:13:0008.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: PHP 5
Сервер: Сервер в интернете
4.27

4.27
8
08.05.2014 17:29:11
Необходимо добавить в глобальные, недостающие переменные, а именно замените:
global $short, $spconf;


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


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

О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
3.24

3.24
9
08.05.2014 19:00:28
Да, вставил, - система больше ошибку не выдает, но и 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: PHP 5
Сервер: Сервер в интернете
4.27

4.27
10
08.05.2014 20:48:04
Я об этом писал изначально:

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



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

О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
3.24

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

Технологии

PHP MySQL HTML 5 CSS 3 jQuery jQuery UI

Контакты

  • D-49179, Deutschland
    Ostercappeln, Im Siek 6
  • +49 176 61966679

  • https://slaed.net
Идеи и предложения
Обратная связь