Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы Как убрать название (дополнительного поля) с БД.

Как убрать название (дополнительного поля) с БД.


     11.07.2012    Общие вопросы    2513

вопрос
Вот почти написал модуль для подгрузки новостей с БД осталось лишь оформить красиво.
Но тут столкнулся с такой проблемой и завис на месте.
Всю информацию я вытаскиваю нормально но изображение с дополнительныйх полей не хочет.Перед ссылкой картинки вставляется название созданного поля ( img| ).
Когда я пытаюсь вытащить картинку через
<img src='%s' />

то появляется вот такое чудо.

https://arnova.dg/img%7Chttp://arnova.dg/uploads/posts/2012-03/nts.jpg

.
А когда пробую просто через
%s без <img src='%s' />
то мне выдает

img|http://arnova.dg/uploads/posts/2012-03/nts.jpg


В БД когда открыл любую новость то обнаружил что ИМЯ img| прописывается вместе с картинкой.
Вот скрин с БД;
Как убрать название (дополнительного поля) с БД.


Как убрать имя доп-полей чтобы они не прописывались в БД?

Вот мой код мини модуля.

Ответил: tumoxa


Имя дополнительного поля по любом будет прописываться в БД (это предусмотрено для большого количества доп. полей). Но при выводе можно просто обрезать 4 первых символа "img|" fellow

do{
            $num++;
            printf("<div class='commentBlock'>
                        <div class='name'>%s</div>
                        <div class='text'><img src='%s' /></div>
                    </div>",$dle_post['title'], substr($dle_post['xfields']), 4);      
        }while($dle_post = mysql_fetch_array($result));

Комментарии пользователей (14)

ПафНутиЙ
1065

3396 | 2434

ПафНутиЙ - 11 июля 2012 22:33 - Админ

$db = mysql_connect("localhost","root","");
mysql_select_db("arnova");
mysql_query("SET NAMES cp1251");
header("Content-type: text/html; charset=windows-1251");

не совсем правильный код. точнее совсем неправильный для дле.
щас программисты плеваться начнут )

Каков вопрос - таков и ответ. Просто помните об этом.

monach
46 | 13

monach - 13 июля 2012 17:46 - Юзер

Этим я поправляю кодировку
header("Content-type: text/html; charset=windows-1251");

nowheremany
192

1659 | 1292

nowheremany - 12 июля 2012 10:11 - Эксперт

Почему не посмотреть как это делает ДЛЕ? Или свой говнокод интереснее?

Благодарность принимаю тут Связь

monach
46 | 13

monach - 13 июля 2012 17:44 - Юзер

Ребят! Мне не нужен сильный и правильный код на 50% код.Данный код нужен для того чтобы лишь информацию вытаскивать и не больше. Просто интересно как каким образом обрабатывается дополнительное поле и каким образом глушит имя поля. Таким образом я бы хотел сделать чтобы глушить имя поля при запросе к БД.

nowheremany
192

1659 | 1292

nowheremany - 13 июля 2012 17:50 - Эксперт

При запросе нельзя, только разбором через explode

Благодарность принимаю тут Связь

tumoxa
1

4 | 3

tumoxa - 14 июля 2012 14:41 - Юзер

Имя дополнительного поля по любом будет прописываться в БД (это предусмотрено для большого количества доп. полей). Но при выводе можно просто обрезать 4 первых символа "img|" fellow

do{
            $num++;
            printf("<div class='commentBlock'>
                        <div class='name'>%s</div>
                        <div class='text'><img src='%s' /></div>
                    </div>",$dle_post['title'], substr($dle_post['xfields']), 4);      
        }while($dle_post = mysql_fetch_array($result));

nowheremany
192

1659 | 1292

nowheremany - 14 июля 2012 16:29 - Эксперт

Бред не пишите. Все таки тут люди читают, и вставляют некоторые вещи к себе на сайты. Так что имейте смелость отвечать за свою писанину.

В дле порядок доп полей может быть любым.

в function.php есть функция xfieldsdataload на вход - строка на выход массив. То что вам и нужно

Благодарность принимаю тут Связь

monach
46 | 13

monach - 17 октября 2012 02:02 - Юзер

Я сделал как ты мне написал и показал примером.Но когда я перехожу на сайт чтобы взглянуть на результат мне выдает ошибку что в коде на 19 строке имено там где я вписал обрезку как ты написал.

nowheremany
192

1659 | 1292

nowheremany - 17 октября 2012 10:53 - Эксперт

Потому что в коде ошибка, и к дле он не отьносится.
Выше комментарием я написал что нужно сделать

Благодарность принимаю тут Связь

monach
46 | 13

monach - 17 октября 2012 17:53 - Юзер

Спасибо.Я решил самостоятельно свою проблемку.Я выполнил сбор информации используя JqueryюВсе получилось супер и намного поменьше кода.

DaivZ
2

283 | 175

DaivZ - 17 октября 2012 18:31 - Юзер

Почему бы не написать решения для всех.

monach
46 | 13

monach - 20 октября 2012 10:35 - Юзер

Я выложу на своем сайте много полезного.Да и те модификации которие я делал нет в нете для dle.Они будут стоить у меня по 1$

pro10026
12 | 12

pro10026 - 21 октября 2012 02:48 - Юзер

с такой "полезностью" и цену этой "полезности" можно будет поспорить))

monach
46 | 13

monach - 21 октября 2012 15:08 - Юзер

Я не жадный (но и подзаработать можна взяв всего 1$). Людей же много,и каждый захочет выводить и подгружать новости используя мои методы.Я вот буквально парочку дней назад нашел одну классную фишку используя сервисы google.Как это работает используя google? Компания розрабатывает много скриптов и у них большие сервисы JS.Как мы сегодня видем что Google использует на 65% именно JS технологию и это ХОРОШО.Благодаря JS мы войдя на сраницу поисковика получаем мгновенный доступ и просмотр той информации которую искалы,без перезагрузок и других манипуляций.Так вот.Я пробегал по просторам google и нашел интересную мне вещь и решил глянуть в исходный код страницы и тут нашел ту дыру которую и сейчас использую для своих целей в розработке.
Но это все потом и на моем сайте.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы