Перейти к публикации

Получение данных из дополнительных полей


Рекомендованные сообщения

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

Пример файла url.php


$my_sql_select = "SELECT * FROM " . PREFIX . "_post WHERE " . PREFIX . "_post.id=".  $id_news_active . ";";

$my_sql_result = $db->query( $my_sql_select );

$row = $db->get_row( $my_sql_result );

$url_video = $row['xfields'];

echo inform;

далее информация из доп.поля выводится в соответствующей новости тегом: {include file="engine/modules/flashplayer/url.php?id_news_active={news-id}"} Но проблема в том, что в поле xfields ниформация храниться в таком виде:

field_1|значение||field_2|значение||field_3|значение

и данный скрипт выводит всю информацию целиком.

Подскажите, пожалуйста, как сделать вывод определенного поля, например, значение поля field_2. Что нужно дописать?

Заранее благодарен!

Ссылка на сообщение
Поделиться на других сайтах

Нашел рабочее решение, возможно кому-то пригодиться


$my_sql_select = "SELECT * FROM " . PREFIX . "_post WHERE " . PREFIX . "_post.id=".  $id_news_active . ";";

$my_sql_result = $db->query( $my_sql_select );

$row = $db->get_row( $my_sql_result );

    if (!is_string($top_field))

	    $top_field = "field_2";

    $xf_t_val = "";

    if ($top_field) {

	    $xfieldsdata = xfieldsdataload($row['xfields']);

	    $xf_t_val = str_replace('\"', '', $xfieldsdata[$top_field]);}

echo $xf_t_val;

Ссылка на сообщение
Поделиться на других сайтах

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

А что за необходимость в результате которой еще один запрос к БД нужен?

Ссылка на сообщение
Поделиться на других сайтах

что то я не пойму назначение данного скрипта

Ссылка на сообщение
Поделиться на других сайтах

это часть кода скрипта, который генерирует ссылку на видео файл, защищенную от хотлинка


$my_sql_select = "SELECT * FROM " . PREFIX . "_post WHERE " . PREFIX . "_post.id=".  $id_news_active . ";";

$my_sql_result = $db->query( $my_sql_select );

$row = $db->get_row( $my_sql_result );

    if (!is_string($top_field))

	    $top_field = "url_video";

    $xf_t_val = "";

    if ($top_field) {

	    $xfieldsdata = xfieldsdataload($row['xfields']);

	    $xf_t_val = str_replace('\"', '', $xfieldsdata[$top_field]);}


$name = $xf_t_val;

$secret = "blablabla";

$time = time() + 10800; //ссылка будет рабочей три часа (10800=3часа)

$key = str_replace("=", "", strtr(base64_encode(md5($secret.'/video_dir/'.$name.$time.getenv("REMOTE_ADDR"), TRUE)), "+/", "-_"));

$encoded_url = "http://sait.ru/video/$key/$time/$name";

echo $encoded_url;

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...