Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> преобразование данных из БД
Reh  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 524
Пользователь №: 38684
На форуме: 2 года, 10 месяцев, 26 дней
Карма: 2




Всем привет!

Получаю данные из БД и сразу передаю их в шаблон

Но есть небольшая проблема

В БД адрес фото хранится в таком виде - /cars/bitter/type-3/
Мне нужно привести к такому - bitter_type-3

Пришло на ум сделать перед передачей в шаблон так

$url = $request_compare_auto['url'];$url = substr($url, 6, -1); $url = strtr($url, '/', '_'); $request_compare_auto['url'] = $url;


Но мне кажется что это неправильное решение.
Подскажите как сделать правильней?
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
AllesKlar  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 3376
Пользователь №: 38635
На форуме: 2 года, 11 месяцев, 12 дней
Карма: 170




Reh
Т.е. нужно всегда два последних компонента?

$bild   = 'path_to_default_bild';
$url = '/cars/typ_of_car/color_of_car/bitter/type-3/';

$arr = explode('/', trim($url, '/'));

if(count($arr) >= 2) {
$bild = $arr[count($arr)-2] . '_' . $arr[count($arr)-1];
}

echo $bild;



Цитата
Получаю данные из БД и сразу передаю их в шаблон

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


--------------------
[продано копирайтерам]
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
volter9  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Местный хипстер
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 566
Пользователь №: 38946
На форуме: 2 года, 9 месяцев, 18 дней
Карма: 64




Reh
Мне кажется что тебе следует хранить в БД уже готовую строку "bitter_type-3". Но если нужно именно в этом формате хранить, то можно сделать как то так:

$slug = '/cars/bitter/type-3/';

$url = trim($slug, '/');
$url = explode('/', $url);
$url = implode('_', array_slice($url, -2));

var_dump($url); // string(13) "bitter_type-3"


Это сообщение отредактировал volter9 - 31.10.2015 - 03:38


--------------------
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
AllesKlar  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 3376
Пользователь №: 38635
На форуме: 2 года, 11 месяцев, 12 дней
Карма: 170




volter9
А если ???
$slug = '/cars/';


И для чего вызывать 2 лишние функции, когда данные уже готовы?


--------------------
[продано копирайтерам]
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
volter9  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Местный хипстер
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 566
Пользователь №: 38946
На форуме: 2 года, 9 месяцев, 18 дней
Карма: 64




AllesKlar
ТС ничего не говорил о формате. Я предположил что всегда будет такой формат.
К стати, а причем здесь лишнии функции?


--------------------
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11788
Пользователь №: 23195
На форуме: 6 лет, 4 месяца, 15 дней
Карма: 429

Трезвый :
7 лет, 3 месяца, 15 дней


Цитата (Reh @ 30.10.2015 - 22:07)
Подскажите как сделать правильней?

для начала нужно подробней описать, для чего эта строка хранится в БД именно в таком виде и зачем её преобразовывать в другой вид
а там, глядишь, и решение более оптимальное посоветуют


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Ron  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1046
Пользователь №: 41686
На форуме: 1 год, 4 месяца
Карма: 13




Цитата (AllesKlar @ 31.10.2015 - 02:09)
А вот так нельзя делать.

??? а что же с ними делать? Отсылать на проверку искусственному интеллекту? )))

Что значит похекают базу? На то плейсхолдеры и подготовленные запросы. Приведение к типу и прочие функции. Это должно быть ДО занесения в базу, а не после.

Или вы предлагаете гнать foreach по результату каждого запроса и проверять жутчайшими способами на бог весть какие паттерны!? )))



--------------------
Жду 5.11.2017
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Reh  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 524
Пользователь №: 38684
На форуме: 2 года, 10 месяцев, 26 дней
Карма: 2




Цитата
для начала нужно подробней описать, для чего эта строка хранится в БД именно в таком виде и зачем её преобразовывать в другой вид
а там, глядишь, и решение более оптимальное посоветуют


Это бд автомобилей, там есть ссылка на фото, так же есть папка с фото, но все фото просто находятся в одной папке и имеют такие названия - audi_a6-allroad_i_group-wagon_5_001.jpg

А в БД это авто хранится так - /cars/audi/a6-allroad/i/group-wagon_5/

Цитата
Т.е. нужно всегда два последних компонента?


я все изображения перенес в папку /cars/, теперь нужно обрезать по краям символ "/",
и дописать номер фото и расширение.

Правильно понял что сначала нужно прогнать запрос через foreach,
отредактировать в нем данные, и только потом передавать в шаблон?
Цитата

Цитата
Получаю данные из БД и сразу передаю их в шаблон

А вот так нельзя делать.


Это не единственное место где я так сделал sad.gif
Мне нужно всегда полученные данные из БД сначала прогонять через foreach, проверять
на корректность и только потом в шаблон передавать?

PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Reh  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 524
Пользователь №: 38684
На форуме: 2 года, 10 месяцев, 26 дней
Карма: 2




Цитата
Мне кажется что тебе следует хранить в БД уже готовую строку "bitter_type-3"

БД уже есть, я ее только читаю
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11788
Пользователь №: 23195
На форуме: 6 лет, 4 месяца, 15 дней
Карма: 429

Трезвый :
7 лет, 3 месяца, 15 дней


тогда в твоем первом посте нормальное решение
но я бы прошелся скриптом по всем картинкам и расфасовал их по соответствующим путям


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
AllesKlar  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 3376
Пользователь №: 38635
На форуме: 2 года, 11 месяцев, 12 дней
Карма: 170




Цитата (Ron @ 31.10.2015 - 07:50)
Цитата (AllesKlar @ 31.10.2015 - 02:09)
А вот так нельзя делать.

??? а что же с ними делать? Отсылать на проверку искусственному интеллекту? )))

Что значит похекают базу? На то плейсхолдеры и подготовленные запросы. Приведение к типу и прочие функции. Это должно быть ДО занесения в базу, а не после.

Или вы предлагаете гнать foreach по результату каждого запроса и проверять жутчайшими способами на бог весть какие паттерны!? )))

- да
- да
- да
Подробности уже за деньги.


--------------------
[продано копирайтерам]
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Reh  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 524
Пользователь №: 38684
На форуме: 2 года, 10 месяцев, 26 дней
Карма: 2




Цитата
но я бы прошелся скриптом по всем картинкам и расфасовал их по соответствующим путям


Наверное так и поступлю, в дальнейшем проще будет!
Надо теперь этот скрипт придумать smile.gif
Спасибо за совет!
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Ron  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1046
Пользователь №: 41686
На форуме: 1 год, 4 месяца
Карма: 13




Цитата (AllesKlar @ 31.10.2015 - 17:44)
Подробности уже за деньги.

И сколько заплатишь, чтобы я это слушал? wink.gif



--------------------
Жду 5.11.2017
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
AllesKlar  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 3376
Пользователь №: 38635
На форуме: 2 года, 11 месяцев, 12 дней
Карма: 170




Ron
Нисколько. Обсуждение взлома выходит за рамки данного форума, так что пиши как можешь.


--------------------
[продано копирайтерам]
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Ron  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1046
Пользователь №: 41686
На форуме: 1 год, 4 месяца
Карма: 13




Цитата (AllesKlar @ 31.10.2015 - 22:42)
Нисколько. Обсуждение взлома выходит за рамки данного форума, так что пиши как можешь.

Спасибо, что разрешаешь. Как бы я без твоего благословления дальше-то жил? Ужас-кошмар.


--------------------
Жду 5.11.2017
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса