PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (21): [1] 2 3 4 5 6 7 8 9 ... » В конец

> Найдено сообщений: 310
dropoff Отправлено: 14 Октября, 2020 - 13:19:13 • Тема: Выбрать из многомерного массива по значениям • Форум: Хранение данных, их вывод и обработка

Ответов: 2
Просмотров: 3965
Всем привет Улыбка
Что-то никак не могу понять, как проще всего сделать. Выходит как-то грубо

Есть массив который получаю
PHP:
скопировать код в буфер обмена
  1. (
  2.     [32] => 32
  3.     [33] => 33
  4.     [37] => Array('text' => 'свой текст')
  5. )



Есть массив который формируется движком
PHP:
скопировать код в буфер обмена
  1.     [1] => Array (
  2.                 [id] => 1
  3.                 [name] => Цвет
  4.                 [values] => Array (
  5.                         [1] => Array (
  6.                                 [p_id] => 1
  7.                                 [p_name] => Синий
  8.                                 [pv_id] => 32
  9.                         )
  10.                         [2] => Array (
  11.                                 [p_id] => 2
  12.                                 [p_name] => Красный
  13.                                 [pv_id] => 33
  14.                         )
  15.                 )
  16.         )
  17.     [2] => Array (
  18.                 [id] => 2
  19.                 [pod_name] => Вес
  20.                 [values] => Array (
  21.                         [4] => Array (
  22.                                 [p_id] => 4
  23.                                 [p_name] => 100
  24.                                 [pv_id] => 34
  25.                         )
  26.                         [5] => Array (
  27.                                 [p_id] => 5
  28.                                 [p_name] => 200
  29.                                 [pv_id] => 37
  30.                         )
  31.                 )
  32.         )
  33. )


В первом массиве ключи - это номер из второго массива значения pv_id

В результате мне нужно получить массив
PHP:
скопировать код в буфер обмена
  1.     [1] => Array (
  2.                 [id] => 1
  3.                 [name] => Цвет
  4.                 [values] => Array (
  5.                         [1] => Array (
  6.                                 [p_id] => 1
  7.                                 [p_name] => Синий
  8.                                 [pv_id] => 32
  9.                         )
  10.                         [2] => Array (
  11.                                 [p_id] => 2
  12.                                 [p_name] => Красный
  13.                                 [pv_id] => 33
  14.                         )
  15.                 )
  16.         )
  17.     [2] => Array (
  18.                 [id] => 2
  19.                 [pod_name] => Вес
  20.                 [values] => Array (
  21.                         [5] => Array (
  22.                                 [p_id] => 5
  23.                                 [p_name] => 200
  24.                                 [pv_id] => 37
  25.                                 [text] => свой текст
  26.                         )
  27.                 )
  28.         )
  29. )


То есть убрать все лишнее и оставить только выбранные значения. При этом, если есть text, то добавить текст соответствующему массиву.

Буду благодарен за помощь!
dropoff Отправлено: 13 Октября, 2018 - 14:15:31 • Тема: Мультиязычность - пара вопросов по хранению текстов в БД • Форум: Хранение данных, их вывод и обработка

Ответов: 1
Просмотров: 1498
Всем привет.

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

Допустим, статьи и новости - для их текстов идут отдельные таблицы в которых хранятся переводы. Там данных то не мало: название, краткое описание, полное описание...
С этим вопросов нет.

А вот, допустим, группа юзеров. Там то описания у меня нет, есть только название группы.
И создавать отдельно табличку под одно поле как-то не хочется.
И таких функций, где текст только в одном поле - не мало.
Группы пользователей, статусы всякие, названия типов обработки картинок, события и т.д.. и т.д...
Как с ними быть?

Насколько правильно в данном случае, будет создать отдельную таблицу для всех переводов?
С одной стороны это даже удобно и облегчило бы массовое управление этим всем. Но, мне кажется это не особо и правильно как-то.
dropoff Отправлено: 23 Мая, 2018 - 08:48:35 • Тема: Добавить параметр к ссылкам в тексте • Форум: Вопросы новичков

Ответов: 4
Просмотров: 868
Строитель, спасибо большое! То, что нужно.
dropoff Отправлено: 22 Мая, 2018 - 15:39:39 • Тема: Добавить параметр к ссылкам в тексте • Форум: Вопросы новичков

Ответов: 4
Просмотров: 868
Владимир, спасибо. Но это немного не то.
Там не строка с ссылкой, а куча текста и в нём ссылки.
Смысл в том, чтобы проходить по текусу, находить ссылки и добавлять к ним мой параметр.
dropoff Отправлено: 22 Мая, 2018 - 13:14:32 • Тема: Добавить параметр к ссылкам в тексте • Форум: Вопросы новичков

Ответов: 4
Просмотров: 868
Всем привет.

Никак не могу придумать как сделать.

Есть на руках текст в котором куча ссылок. Ссылки и http и https, в теге a href и нет.

Мне нужно вообще всем ссылкам добавить свой параметр в конце. При этом нужно учитывать, что ссылка уже может быть с параметрами. То есть нужно читывать ? или &

Скажем
site_name.domain/?default=param&moy=parametr
и
site_name.domain/tipa-seo-url?moy=parametr

Если регуляркой еще могу найти ссылки, то как им сразу добавить moy=parametr не пойму. Что-то и нагуглись по этому вопросу ничего не смог.

Буду благодарен за помощь.
dropoff Отправлено: 12 Марта, 2018 - 07:29:02 • Тема: Виснет сайт при выполнении MYSQL запроса • Форум: Вопросы новичков

Ответов: 6
Просмотров: 772
Вторая проверка показала тоже самое.
Были выполнены два запроса на две "проблемные" таблицы, на которых и происходит зависание.
Через PMA виснет секунд по 10 первое выполение запроса на удаление.
Последующие запросы выполняются мгновенно.
dropoff Отправлено: 11 Марта, 2018 - 09:22:09 • Тема: Виснет сайт при выполнении MYSQL запроса • Форум: Вопросы новичков

Ответов: 6
Просмотров: 772
Vladimir Kheifets пишет:
Показывая запрос, видимо, Вы имели ввиду не database, а таблицу

Да, таблицу. Не то написал.

Vladimir Kheifets пишет:
Попробуйте проверить, как отрабатывается тот же запрос в phpMyAdmin,

В phpmyadmin первый запрос на удаление выполняется дольше. Вот только сейчас проверил.
Сделал удаление и зависания вроде бы и нет..., но пока PMA обработал запрос прошло сек. 6-10.
Сделующий запрос точно такой же уже был моментальный.

mysql_error ничего не дает. сервер тупо виснет и после выводит ошибку с таймаутом.
dropoff Отправлено: 07 Марта, 2018 - 21:55:39 • Тема: Виснет сайт при выполнении MYSQL запроса • Форум: Вопросы новичков

Ответов: 6
Просмотров: 772
marat-dev пишет:
при удалении виснет это не изза бд а изза сервера

Ну там и при добавлении и при обновлении. Что делать с этим не понятно((
dropoff Отправлено: 06 Марта, 2018 - 10:11:37 • Тема: Виснет сайт при выполнении MYSQL запроса • Форум: Вопросы новичков

Ответов: 6
Просмотров: 772
Всем привет.

Ребята, такая проблема, уже устал...
При выполнении простейшего запроса, например на удаление
PHP:
скопировать код в буфер обмена
  1. DELETE FROM database WHERE id = 1

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

Что странно, так это то, что зависание всегда именно на определенных действиях. В остальном таких проблем нет совершенно. То есть именно работа с парой таблиц на удаление, обновление и добавление.
В этих таблицах записей совсем не много, от 10 и до 300.
Проставлены индексы и и запросы все по ключу без лишних данных в where.

Скрипт старый, работает еще mysql.
Раньше таблицы на которых виснет были MyISAM. Сделал InnoDB - толку нет.

Как быть?
dropoff Отправлено: 06 Декабря, 2017 - 16:48:25 • Тема: Выборка по дате через определенное время • Форум: Вопросы новичков

Ответов: 1
Просмотров: 210
Всем привет.

Никак не могу справится с решением.

Есть запись у которой datetime 2017-12-06 06:00:07 (create_date) (как пример)

Есть опции с днями.
PHP:
скопировать код в буфер обмена
  1. $days_1 = 2;
  2. $days_2 = 8;
  3. $days_3 = 16;


Далее, мне нужно выполнить условие в запросе и вытащить записи по условию:
1 - Если прошло $days_1 дней после даты создания и меньше чем количество $days_2 дней.
2 - Если прошло $days_2 дней после даты создания и меньше чем количество $days_3 дней.
3 - Если больше или равно $days_3

То есть:
1 - вытащить записи у которых с момента публикации прошло больше или равно 2 дня и меньше 8 дней.
2 - вытащить записи у которых с момента публикации прошло 8 дней и меньше 16 дней.
3 - вытащить записи у которых с момента публикации прошло больше или равно 16 дней.

Я честно смотрел про работу с датами, но там столько всего, что реально не могу въехать в тонкости выборки.
Буду благодарен за любую помощь в решении этой не простой для меня задачи))
dropoff Отправлено: 02 Июня, 2017 - 12:03:30 • Тема: Сортировка результата поиска • Форум: Вопросы новичков

Ответов: 1
Просмотров: 159
Всем доброго времени суток.

Задам вопрос тут, так как не уверен точно, в какой теме ему место))

В результате поиска по выражению "Samsung 2330M" в БД получаю массив совпадений по словам

PHP:
скопировать код в буфер обмена
  1. (
  2.     [0] => Array
  3.         (
  4.             [id] => 19
  5.             [name] => Samsung 5578
  6.         )
  7.     [1] => Array
  8.         (
  9.             [id] => 5
  10.             [name] => Samsung I9001 Metallic Black
  11.         )
  12.     [2] => Array
  13.         (
  14.             [id] => 16
  15.             [name] => Samsung NP300E4A-A03 2330M
  16.         )
  17. )


Тут все хорошо, за исключением сортировки.
Как видно искомый товар "Samsung NP300E4A-A03 2330M" самый последний по запросу "Samsung 2330M".

Очевидно, что его нужно подтолкнуть вверх, на первое место.

Поиск в базе идет по обычным LIKE. Выборка по нескольким полям, по этому не смог придумать что ставить на первое место в ORDER BY из полей.
Может есть какие-то решения, чтобы в запросе проверять, что больше совпало из выборки и по ним сортировать?

Либо вариант сортировки массива по большему совпадению слов в name? Но тут придется прогонять массив неизвестно какого объема. Не будет ли долгим весь этот процесс?
dropoff Отправлено: 29 Мая, 2017 - 10:15:54 • Тема: Генерация XLS на PHP и кодировка на смартфонах • Форум: Кодировки и все смежное

Ответов: 9
Просмотров: 3844
Больше времени потерял на поиски решения.

Переписал все на PHPExcel. Хоть и прожорлив он, но работает корректно и функций море))

Спасибо всем за участие!
dropoff Отправлено: 27 Мая, 2017 - 20:50:00 • Тема: Генерация XLS на PHP и кодировка на смартфонах • Форум: Кодировки и все смежное

Ответов: 9
Просмотров: 3844
Мелкий пишет:
А если писать нормальный utf8, то мс офису крышу сносит?

кириллица криво.

Походу тут библиотека сама такая. Или я криворукий. Уже что только не пробовал из рекомендаций. Только офис и открывает все нормально(
dropoff Отправлено: 27 Мая, 2017 - 17:53:25 • Тема: Генерация XLS на PHP и кодировка на смартфонах • Форум: Кодировки и все смежное

Ответов: 9
Просмотров: 3844
Точно. OpenOffice открывает криво.
Из всех вариантов, только сам офис открывает в правильной кодировке. Все остальные криво.
Вот дела...
dropoff Отправлено: 24 Мая, 2017 - 18:38:24 • Тема: Генерация XLS на PHP и кодировка на смартфонах • Форум: Кодировки и все смежное

Ответов: 9
Просмотров: 3844
офис.

вопрос в том, как на мобильном открывать в кодировке нормальной.

Страниц (21): [1] 2 3 4 5 6 7 8 9 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB