Ответы пользователя по тегу MySQL
  • Как правильно составить запрос MYSQL?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    1) * parent_id
    2) нестед сидс проще реализовать на клиенте
    Ответ написан
    Комментировать
  • Как реализовать динамическое обновление данных в бд?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Так а вопрос то в чем?
    1)Не хватает ресурсов - покупаем мощности сервера,
    2) не хватает данных - запрашиваем чаще,
    3) опять не хватает мощности - см. п. 1.

    что и как у вас запрашивается и с какой частотой обновляется никто тут не знает, других вариантов кроме как настройка частоты запросов под каждый апи особо нет.
    Ответ написан
    Комментировать
  • Почему так медленно сохраняются данные в CSV?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    function put_ten() {
      global $link;
      $query = "SELECT `item`.`id`, `item`.`name`, `item`.`cat1`, 
                    `item`.`cat2`, `item`.`cat3`, `item`.`cat4`, 
                    `item`.`price`, `img`.`source`, `param`.`name` pname, `param`.`value` pvalue
              FROM `item` 
              JOIN `img` 
              ON `item`.`id` = `img`.`item_id` 
              JOIN `param` 
              ON `item`.`id` = `param`.`item_id` 
              WHERE `item`.`inserted` = 0 
              LIMIT 1000";
    // дальше 1 циклом нормально пройтись
    }


    UPD: Без индексов было... БЕЗ ИНДЕКСОВ, КАРЛ!!! Как так то?
    Ответ написан
    1 комментарий
  • Как реализовать вывод данных бд с сортировкой?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Я выбираю из выпадающего списка вывод данных по-популярности, по-жанрам, по-годам, и по-странам.

    Как и написали в коментах - ORDER BY `поле_сортировки`

    Но до сортировки должны выводиться всё данные.

    можете просто не указывать метод сортировки, но тогда у вас будет все кучей, никакого внятного порядка вывода не будет. И бтв - сортировка не повлияет на вывод всех/не всех данных, для этого есть другие операторы - LIMIT, WHERE и т.д.

    Если не трудно напишите пример кода)

    не трудно, но:
    во первых это запрещено правилами ресурса(можно было и почитать условия при подаче вопроса),
    во вторых конкретно ваша реализация не будет подходить под чей либо чужой код, никто кроме вас не знает ни структуры хранения данных в вашей бд, ни кода который все это обрабатывает.
    Ответ написан
    Комментировать
  • Перезапись значений БД?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Без подробностей реализации конкретно вашей - как вы записываете, что используете и как хранится - достаточно сложно что-либо сказать. В общем случае - объект выполняет UPDATE в случае если id сущности уже есть, и делает INSERT если такового нет. Но если это связанный единичный объект может еще выполняться проверка по внешнему ключу, есть ли уже запись с таким внешним ключом.
    Ответ написан
    Комментировать
  • Не получается вывести в php как исправить?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer

    $sql_img = $db->super_query("SELECT * FROM imgtop limit 2", true);
    print_r($sql_img);
    exit;
    что показывает?

    Выводит так массив
    Array ( [0] => Array ( [id] => 1 [name] => slider_1.jpg ) [1] => Array ( [id] => 2 [name] => slider_2.jpg ) )


    sandbox.onlinephpfunctions.com/code/9f43dc6039aa53...
    результат:
    <li  style="background-image: url(/img/slider_1.jpg);" class="overlay"></li> <li  style="background-image: url(/img/slider_2.jpg);" class="overlay"></li>

    кто -то пиз... трындит, и скорее всего не интерпретатор )
    Ответ написан
  • Какую выбрать БД?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    в вашем случае что-то типа редис или тарантул, то есть отказаться от релятивистской модели и перейти на кейвалуе инмемори сторэйдж. в случае с тарантул емнип даже основные плюшки релэйшинов сохранятся.

    Плюс - скорость и все плюшки кейвалуе.

    Минус - кейвалуе и все похерится в случае факапа с выключением/перезагрузкой сервера сервера.
    Ответ написан
    Комментировать
  • Вывод картинок с mysql как?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    для начала - учите синтаксис и PSR, который не просто так придуман.
    foreach($sql_img as $q) //здесь должна быть открывающая { 
      $img .= '<li  style="background-image: url({theme}/img/'.$sql_img['name'].');" class="overlay"></li> ';
    // тут у вас цикл закончился и вернулся к новой итерации, это равноценно закрывающей }
    // а так же нахрена вам $q если вы обращаетесь к $sql_img? и нахрена тогда вообще цикл? 
    $tpl->set('{img}', $img); // тут вы получили элемент массива $sql_img['name'] в каждой строчке. соответственно будет одна картинка.
    Ответ написан
  • Какой инструмент PHP наиболее подходит для обеспечения безопасности хранения паролей в БД?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Ответ написан
    Комментировать
  • На каком ресурсе хорошо описана защита работы php c mysql?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    мне нужно сделать для друга сайт, который бы мог вести только он один имея доступ к добавления картинок и текста

    wordperss?
    Ответ написан
    Комментировать
  • Как создать структуру диалогов?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    имхо вы серьезно множите сущности на простой задаче. Думаю достаточно 2 таблиц для хранения всего.
    1) собственно месажи
    id | sender_id | reciver_id | chatroom_id | message | datetime | readed
    2) чатрум( поля на выбор)
    и логикой рулить уже что это.
    Если есть сендер и ресивер но нет чатрумид - личный диалог,
    Если нет ресивера и есть чатрум - общий чат,
    Если есть все 3 - общий чат с личным обращением, как раз как в вк.
    UPD: если есть необходимость в уровнях доступа к чатам - тогда естественно понадобится дополнительная таблица с рестрикшн полиси и группами пользователей, но это уже имхо немного выходит за рамки первоначальной задачи.
    Ответ написан
  • Как хранить шаблоны платежек?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Сложно сказать не зная подробностей реализации и нюансов и специфики предметной области. Внешне выглядит ок, единственно что не понятно - опросник предполагает последовательность действий с промежуточным результатом, я так понимаю возобновление будет из таблицы ответов формироваться?

    Мелкий штрих - order ключевое слово SQL, в целом не страшно, орм его нормально обрабатывает, но я обычно заменяю на sort.
    Ответ написан
  • Хранение аватарок в БД, что скажете?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    1) Оверхед при хранении в базе64 порядка 30%. то есть + 30% к траффику, а учитывая п. 2 - еще больше.
    2) Кеш браузера не работает с базе64 картинками(и замечательно работает с картинками в файлах).
    3) Файлы храните в файлах.
    4) Жметесь на количество файлов и место - граватар.
    Ответ написан
    Комментировать
  • Как извлечь из БД MySQL больше одной строки?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Пособие по преодолению проблем "ничего не работает":
    1) Разбить задачу на шаги(сначала на крупные, потом на более мелкие если необходимо)
    в вашем случае есть 1) запрос, который "должен"(нет) выбирать несколько строк. Идем в консоль или в пхпмайадмин и прописываем там запрос напрямую. Если запрос возвращает 1 запись - идем учить синтаксис SQL.
    2) Если проблема не в запросе - есть вардамп для результата вывода из функции, которая работает с бд, возможно вы используете не то что надо - идем читать про ваш адаптер бд и функции из него.
    3) Получаем объект - как и что происходит тут - загадка, проверяйте что вы скармливаете на входе, смотрите где теряются данные по ходу алгоритма, что получаете на выходе.
    Хинт: var_dump(), print_r();
    Ответ написан
    Комментировать
  • Как правильно организовать хранение продуктов для доски объявлений?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Вариантов реализации просто неисчислимое множество, все они имеют свои плюсы и минусы, в зависимости от того что и с чем вы будете комбинировать. Конечно, наихудший вариант - одна таблица со всеми свойствами, вам нужно смотреть в сторону решений с максимальной нормализацией (смотрите материал по нормальным формам бд), и создав схему с нормальной формой, уже в нужных местах произвести денормализацию, необходимую для какого-либо особого функционала.
    Проще говоря - (почти)все свойства объявлений должны храниться отдельно от записей объявления, и связываться через промежуточную таблицу по ключам. то же относится и к свойствам пользователей.
    Ответ написан
    Комментировать
  • Как правильно создать список песен для пользователя?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    многие ко многим?
    Ответ написан
    Комментировать
  • Как реализовать систему пользователей php/mysql?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    В mysql есть реализация системы прав пользователей с гибкой настройкой доступа к данным. При регистрации пользователя на сайте, ему присваиваются данные права, т.е. используются именно эти возможности mysql?
    Нет, это пользователи чисто бд, для этого в веб приложениях они не используются.
    Информация об авторизации фиксируется не чьей стороне? При переходах со страницы на страницу каждый раз происходит переконнект к БД, а значит теряется информация о предыдущей сессии?

    Не надо путать авторизацию пользователя на сайте и авторизацию скрипта при доступе к бд. Скрипт имеет единые настройки для подключения к бд, а пользователь взаимодействует со скриптом через вебсервер, напрямую к бд пользователь никак не может обратиться. При авторизации цепочка действий примерно следующая:
    - вводим данные авторизации(браузер) и отправляем на сервер
    - сервер принимает данные, создает соединение к бд, и проверяет запросом правильные ли данные ввел пользователь.
    - Если все ок, создается запись в сессии(читайте про механизм сессий в пхп), и в дальнейшем проверяется при каждом запросе к серверу, есть ли соответствующий ключ в сессии. Если есть - значит пользователь авторизирован.
    Ответ написан
    Комментировать
  • Как исправить сдвиг времени (MySQL запрос)?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    при инициализации соединения выполнить запрос "SET time_zone = '+2:00';" (или другой соответствующий часовой пояс), в пхп соответственно тоже настроить таймзону, чтобы не было расхождения, настройки ОС трогать нет необходимости.
    Ответ написан
  • Выбор формата хранения времени?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Все очень просто - если это дата и/или время - использовать формат datetime, во всех остальных случаях соответствующие хранимым данным типы. Int для timestamp вообще непотребство в чистом виде.
    Дату/время рождения - это DATETIME

    У вас хранится время рождения? Тут можно использовать DATE, но я бы не скупился и поставил DATETIME из соображений единообразности работы с датой и временем.
    Ответ написан