• Как в таблице хранить свободные даты для номеров в гостинице?

    @ReFeRy
    Для решения именно указанной задачи можно иметь в БД заранее сформированные таблицы по каждому запросу и гостиницам, в которых в принципе есть подходящие номера.
    К примеру:
    Запрос: "2 взрослых +1 ребенок", на него имеем таблицу с идентификаторами всех гостиниц, в которых есть удовлетворяющие этому запросу номера.
    А потом в момент оформления заказа отмечаем в отдельной таблице, что именно в этой вот гостинице на такую-то дату не осталось номеров по такому-то запросу.
    Как итог, в любой момент одним запросом можно найти все гостиницы, которые удовлетворяют запросу и про которые на указанные даты нет записей, что все подходящие под запрос номера заняты.

    Что-то сложно навернул. Надо прикидывать конкретную структуру БД и на ней уже решать все типичные задачи.

    P.S. Возникает ощущение, что вы хотите обязательно искать в БД запись о том, что что-то есть, а ведь можно проверять отсутствие нужной записи =)
    Ответ написан
  • Как из массива вывести только 3 первых элемента?

    @ReFeRy
    Во-первых, к массиву, перебор которого вас интересует, можно обратиться без вложенных циклов, вот так: $element[0][0][0]
    Если вам в любом случае надо вывести три элемента и там всегда есть эти три элемента, то проще всего вывести их без перебора:
    echo $element[0][0][0]['thumb_src'].$element[0][0][1]['thumb_src'].$element[0][0][2]['thumb_src'];

    Если же с минимальными изменениями именно вашего кода, то так:
    <?php
    foreach ($elements as $element)
    {
       foreach ($element as $images)
       {
          $i = 1;
          foreach ($images as $image)
          {
             echo $image['thumb_src'];
             if($i++ >= 3)
             {
                break;
             }
          }
       }
    }
    ?>

    Но там большие вопросы, что ещё лежит в этом массиве, а то ваши циклы могут и ещё-что-то вывести. Почитайте что-то по базовому синтаксису языка.
    Ответ написан
  • Как заполнить поле формы с помощью Curl?

    @ReFeRy
    Вы явно плаваете в теории. Curl не заполняет поля форм, он отсылает http-запросы, как поступает браузер, в случае использования сайта пользователем. Приведенная форма отправляет запрос на адрес /index.php, значит и curl должен слать туда же и слэша на конце адреса быть не должно, раз вы имя скрипта пишете. А далее вопрос уже к скрипту index.php, что он там в ответ на запрос отвечает. Попробуйте вывести ошибку curla, в сети легко нагуглить, как это делается.
    Ответ написан
    Комментировать
  • Есть ли рабочие примеры websocket?

    @ReFeRy
    Сам сейчас прикручиваю сокеты к старому сайту на php. Нашел очень простой вариант для освоения: https://habrahabr.ru/post/331462/

    Именно в этой статье доступно описан (с исходным кодом) пример для отправки сообщений конкретному юзеру. На чистом php, без всего остального.

    У меня уже завелось. Про производительность пока ничего сказать не могу.
    Ответ написан
    Комментировать
  • Как правильно вывести по 3 записи в foreach?

    @ReFeRy
    Если условия никогда не меняются, то все элементарно. Добавляете счетчик и на значения 3 и 6 выводите разделители
    </div><div class="item">
    Начало html выводите до цикла, последний div закрываете после цикла.
    Ответ написан
    Комментировать
  • Как задать разный вид для разных страниц сайта на php и mysql?

    @ReFeRy
    Проблема в том, что определение будущего внешнего вида страницы у вас происходит до определения содержимого этой страницы.

    Сначала вы должны определить свою переменную $view, а потом уже инклюдить разные части шаблона. Тогда вы сможете задавать условия по этой переменной и инклюдить разные варианты шаблона.

    Это, если по простому, для понимания сути.
    Ответ написан
    1 комментарий
  • Как добавлять/удалять ключевые слова (теги) в БД (многие ко многим)?

    @ReFeRy
    Отношение многие ко многим в реляционных бд реализуется через отдельную таблицу отношения "post_id, tag_id". При редактировании статьи анализариуете старую строку тэгов и новую. Для неизмененных тэгов ничего не делаете, для новых создаете новое отношение, для удаленных удаляете отношение.

    По поводу новых тэгов или уже существующих. Если тэги у вас больше нигде не используются вообще, то можно не делать отдельной таблицы тэгов, а схему таблицы отношений изменить на "post_id, tag". В таком случае больше вообще не нужно делать никаких телодвижений.

    Если же необходимо иметь отдельную таблицу тэгов со счетчиком их использования, то придется делать дополнительные запросы с инкрементом/декрементом счетчика. Для оптимизации количества запросов посмотрите в сторону конструкции insert or update.
    Ответ написан
  • Код для добавления в сравнение (закладки)?

    @ReFeRy
    Не очень понятна проблема. После нажатия "добавить в закладки", появляется ссылка "удалить из закладок", но она не рабочая? Если проблема в этом, то ответьте на вопрос - js код функции AddToBookmarks вынесен в отдельный файл или содержится в теле html и генерируется из php?

    link.setAttribute("onclick", "remBookmark(<?php echo $product["id"]; ?>, this);");

    Хотя, в любом случае, вот в этой строке вам надо заменить вставку из php на переменную product_id, которая уже передана в функцию при вызове.
    Ответ написан
  • Как облегчить запрос sql?

    @ReFeRy
    Так здесь же элементарный inner join двух таблиц. Или left join, если во второй таблице может быть несколько записей с одинаковыми title.
    Ответ написан
  • Как загрузить изображения по ссылке на сервер?

    @ReFeRy
    Загрузка 1000 изображений с ресайзом это задача не для одной итерации скрипта. Судя по вашему словесному описанию, есть один лишний пункт - сохранение большой картинки во временный файл, это совершенно лишнее. Да и curl лишний, если он заводится только для картинки. Ну, и разбивайте скрипт на несколько итераций.
    Ответ написан
    Комментировать
  • Как в PHP сохранять COOKIES при навигации по сайту для последующих автоматизированных HTTP-запросов?

    @ReFeRy
    Лично мне более адекватным кажется, кодирование всего перемещения по сайту роботом, вместе с выбором нужного города. Пускай куки сами пишутся, сессия будет в порядке и проверка по рефереру тоже пройдет.
    Ответ написан
  • Как установить сравнение utf8_general_ci в mysql при создании?

    @ReFeRy
    CREATE DATABASE 'bdbd' DEFAULT CHARACTER SET utf8

    P.S. А что вопрос без ответа два года висит? О_о
    Ответ написан
    1 комментарий