PHP.SU

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

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

> Найдено сообщений: 271
Vladimir Kheifets Отправлено: 03 Августа, 2018 - 08:25:54 • Тема: выборка за раз данных с разных запросов • Форум: SQL и Архитектура БД

Ответов: 7
Просмотров: 122
DlTA пишет:
для примера

Спойлер (Отобразить)

и это у меня выгрузка списка id товаров, проверяется привязка к разделу, подразделу, и ... много чего еще
(Добавление)
для примера, попробовал объединить 2 таблицы
CODE (SQL):
скопировать код в буфер обмена
  1. (
  2. SELECT  `sizes`.`rus` ,  `sizes`.`id`
  3. FROM  `sizes`
  4. WHERE  `sizes`.`id` =2
  5. )
  6. UNION (
  7.  
  8. SELECT  `colors`.`id` ,  `colors`.`rus`
  9. FROM  `colors`
  10. WHERE  `colors`.`id` =1
  11. )
  12.  

это работает, НО ЭТО ПРАВИЛЬНО??
Добрый день!
Если это работает, то правильно, но Вам "хотелось бы ускорить обработку".
Не уверен в том, что в Вашем случае это решение оптимальное.
Ваш запрос с UNION создаёт временную таблицу и на больших базах данных может работать медленнее, чем альтернативные решения, например, с JOINT, если это возможно.
Vladimir Kheifets Отправлено: 01 Августа, 2018 - 15:38:33 • Тема: выборка за раз данных с разных запросов • Форум: SQL и Архитектура БД

Ответов: 7
Просмотров: 122
DlTA пишет:
JOIN у меня есть, я же говорю что в запросе выбираются до 10 таблиц

а в начале Вы написали:
Цитата:
для каждого параметра делаем отдельный запрос....
.............
вопрос: а можно как-то объединить запрос для получения всего за раз?

Простите, не могли бы Вы показать хотябы один Ваш запрос с JOINT, который выбирает из 10 таблиц один параметр и могли бы написать что-то про эти таблицы.
Vladimir Kheifets Отправлено: 01 Августа, 2018 - 07:33:35 • Тема: выборка за раз данных с разных запросов • Форум: SQL и Архитектура БД

Ответов: 7
Просмотров: 122
DlTA пишет:
выборка у меня не с одной таблицы, их там с 10-ток
от товара, идет выборка по наличию, а там идет выборка по таблице по размеру, высоте, ...

Добрый день!
Если таблиц несколько, то можно писать название таблицы и название поля, например,
SELECT table1.length, table2.height, table2.width... и испльзовать в запросах JOIN
Посмотрите, пример запроса из четырёх таблиц здесь
http://forum.php.su/topic.php?fo...92123#1532692123
К сожалению, для более детального ответа не достаточно информации.
Удачи!
Vladimir Kheifets Отправлено: 31 Июля, 2018 - 16:34:11 • Тема: выборка за раз данных с разных запросов • Форум: SQL и Архитектура БД

Ответов: 7
Просмотров: 122
DlTA пишет:
переделываю фильтр на сайте
и очень хотелось бы ускорить обработку, нынче имеем много разных параметров, и для каждого параметра делаем отдельный запрос для получения списка в select [длина, ширина, ... и что-то еще].

вопрос: а можно как-то объединить запрос для получения всего за раз?
а в результате получить:
[длина]=>1
[длина]=>2
[длина]=>3
[высота]=>1
[высота]=>3
[высота]=>5
[ширина]=>3
[ширина]=>10

Добрый день!
Если я Вас правильно понял и у Вас устроено так:
Спойлер (Отобразить)
то просто можно сделать один запрос
Спойлер (Отобразить)
Удачи!
Vladimir Kheifets Отправлено: 30 Июля, 2018 - 21:44:39 • Тема: не знаю как осуществить • Форум: Вопросы новичков

Ответов: 2
Просмотров: 83
myvin пишет:
В общем тут без кода можно пояснить - в переменную приходить $_POST['id'], я пока новичек и не знаю как мне сделать так, что если содержимое переменной $_POST['id'] например 1, то в переменную $mod записать значение 71 год, если в переменной $_POST['id'] прилетело число 2, то в переменную $mod надо записать содержимое со значением 13 вася ну и так далее. Подскажите пожалуйста как это осуществить

Добрый день!
Как-то смущает: "ну и так далее..."
Если на это не обращать внимание, то можно так;
Спойлер (Отобразить)
Удачи!
Vladimir Kheifets Отправлено: 27 Июля, 2018 - 14:48:43 • Тема: Как правильно получить данные из четырех таблиц из базы данных mysql, с помощью php+ajax • Форум: Работа с СУБД

Ответов: 1
Просмотров: 75
beki007 пишет:
Есть 4 таблицы в базе: person(id, name, lastname), city(id, title), transport(id, title, price, date), hotel(id, title, price).
Имеется html форма:

Спойлер (Отобразить)


и содержимое script.php:
Спойлер (Отобразить)

Вот тут в php надо сделать так: вывести данные из таблиц, соответствующий данным из формы поиска, потом суммировать price из таблицы transport + price из таблицы hotel. И вывести на таблицу.
Как можно реализовать? Помогите пожалуйста.
Заранее благодарен за помощь
Добрый день!
Допустим, что есть 4 таблицы в базе: person(id, name, lastname), city(id, title), transport(id, title, price, date), hotel(id, title, price)
Спойлер (Отобразить)
Можно попробовать сделать запрос:
Спойлер (Отобразить)
Результат
Спойлер (Отобразить)
Удачи!
Vladimir Kheifets Отправлено: 25 Июля, 2018 - 08:24:06 • Тема: Помогите правильно составить запрос к БД • Форум: Вопросы новичков

Ответов: 2
Просмотров: 59
elikmhs пишет:
Допустим в базе есть таблица Сотрудники с полями имя, возраст и пол.
Требуется создать таблицу в цикле так чтобы каждое имя отображалась один раз а рядов вывести количество сотрудников с таким именем.

Таблица в БД

Спойлер (Отобразить)

Требуется вывести
CODE (html):
скопировать код в буфер обмена
  1. <table width="500" border="1" cellspacing="0" cellpadding="10">
  2.   <tr>
  3.     <td>ИМЯ</td>
  4.     <td>КОЛ. СОТРУДНИКОВ</td>
  5.   </tr>
  6.   <tr>
  7.     <td>Иван</td>
  8.     <td>2 </td>
  9.   </tr>
  10.   <tr>
  11.     <td>Олег</td>
  12.     <td>3 </td>
  13.   </tr>
  14.   <tr>
  15.     <td>Инна</td>
  16.     <td>1 </td>
  17.   </tr>
  18. </table>


Моя попытка
Спойлер (Отобразить)

Помогите дописать или может есть решения по проще ?


Добрый день!
Я бы в начале выбрал все имена из БД с сортировкой по имени, а потом сделал бы массис для печати.
Спойлер (Отобразить)
Удачи!
Vladimir Kheifets Отправлено: 24 Июля, 2018 - 20:11:22 • Тема: Синтаксическая ошибка, хотя ошибки вроде бы и нет. • Форум: Вопросы новичков

Ответов: 2
Просмотров: 71
serzh пишет:
Здравствуйте!
Первые проверочные страницы сайта на Денвере. При попытке просмотреть первую страницу браузер выдал такую ошибку:

Ошибка разбора: синтаксическая ошибка, неожиданный '<в R:\home\localhost\www\zs\index.в PHP на линии 2

Вот код индексной страницы:
Спойлер (Отобразить)


Во второй строке только ДОКТАЙП и больше ничего. Никакой лишней скобки НЕТ. В чём же ошибка?

Добрый день!
После <?php должен быть PHP-код, а у Вас HTML.
Вообще-то с <?php include ("bloks/header.txt");?> и <?php include ("bloks/nav.txt");?>
тоже не очень понято.
Удачи!
Vladimir Kheifets Отправлено: 24 Июля, 2018 - 13:19:16 • Тема: Удаление отдельной позиции из БД • Форум: Вопросы новичков

Ответов: 2
Просмотров: 53
7erj пишет:
Доброй ночи! Подскажите, пожалуйста, как выйти из сложившейся ситуации.

Есть запрос в бд, который через foreach выводит список позиций из базы данных.
Прикрепляю скрин, на котором есть 2 позиции. Напротив каждой позиции есть кнопка "изменить".
Каким образом я могу осуществить такую функцию?

Проблема в том, что я пытаюсь обрабатывать полученные через post данные, которые находятся в цикле foreach. И поэтому в самом обработчике я ловлю только последнюю, из перечисленных, запись. Огорчение

А надо что бы я мог ловить в обработчике те данные, напротив которых я нажал кнопку "изменить".

Добрый день!
1. Советую Вам убрать кнопки "Изменить" из строк и поставить внизу только одну кнопку.
Выбор строк для изменение и удаления делать через чекбоксы.
2.Имена полей формы нужно дополнить символами [], например, name="ch[]"
Может это Вам поможет:
Спойлер (Отобразить)
Удачи!
Vladimir Kheifets Отправлено: 21 Июля, 2018 - 09:31:37 • Тема: Cookie • Форум: Вопросы новичков

Ответов: 2
Просмотров: 61
masterlelik пишет:
Столкнулся с необъяснимой проблемой:
если устанавливать куке конкретное статическое значение, то все ок, а если через переменную, то кука не устанавливается
Вот так работает:
$time=time()+60*60*24*3;
setcookie("banner", 177, $time, "/", $_SERVER["HTTP_HOST"]);

А вот так уже не работает
$id=180;
setcookie("banner", $id, $time, "/", $_SERVER["HTTP_HOST"]);

Если во второй строке $id заменю на само число, то кука станет=180

В чем может быть причина?

Добрый день!
И так и так работает. Вам необходимо вставит error_reporting(E_ALL); и Вы увидите почему не работает.
так работает
Спойлер (Отобразить)
а так нет(из-за пробела перед <?)
Спойлер (Отобразить)
Удачи!
Vladimir Kheifets Отправлено: 20 Июля, 2018 - 11:00:43 • Тема: Бронирование номера в отеле • Форум: Работа с СУБД

Ответов: 4
Просмотров: 97
jovani пишет:
Доброе время суток всем!
Друзья дорогие и у меня вот какой вопрос. Пишу сайт для туристического агентства, в котором должна быть возможность бронирование номера в отелях. Если бы бронирование было только с этого сайта, который пишу, я с могу осуществить схему бронирование, но кроме моего сайта номера в отеле могут бронировать все, кто этого пожелает. Мой вопрос в следующем: подскажите пожалуйста советом, как делается бронирование в случае если бронировать могут люди из разных точек мира. Как устроена эта связь.
Заранее всем спасибо

Добрый день!
1. В начале, Ваш заказчик должен принять решение с какой системой он хочет работать.
Таких систем много и выбор сделать не просто.
Как правило, такие системы предоставляют доступ к бронированию для менеджеров турфирм.
Перед тем как подписывать договор на использование API, бронируют отели в ручную и обращают внимание на покрытие
(страны, города и количество отелей) и цены и условия оплаты – депозит, оплата по кредитным картам, оплата на дату заезда.

2. Если система представляет интерес то турфирма заключает договор на использование API и на этом этапе Вы засвечиваетесь как разработчик интерфейса.
После заключения договора Вы получите доступ к песочнице и базе данных.
Как правило это, таблицы городов, стран и информации об отелях. Эти данные должны загружаться в клиентскую
БД и регулярно актуализироваться.Разумеется Вы получаете доступ документации.

3. Вам необходимо написать селекторы для ввода поисковых запросов. Например, требуется выбрать город, даты, количество комнат и персон.
Пишите программу отправляющую запрос Вебсервису и обрабатывающую полученный ответ.
Далее выводите информацию для посетителя сайта и он выбирает отель, который хочет забронировать.
Затем посылаете запрос на бронирование и интерпретируете ответ – статус бронирования (подтверждён, отклонён, под запросом)
Генерируете ваучеры и отправляете клиенту подтверждение. Если бронирование со статусом “под запросом” необходимо реализовать
асинхронные запросы для получения статус бронирования.

4. Пишите запросы на получение информации о прошедших заказах и зпросы для их отмены.

5.Когда Вы закончите разработку интерфейса в песочнице, запускается процедура сертификации Вашего программного продукта.
После завершения сертификации Ваш заказчик получит доступ к сервису, а Вы если повезёт, оговоренный гонорар за выполненную работу.

Пример реализации системы бронирования отелей, трансферов и экскурсий можете посмотреть здесь https://www[dot]alto-booking[dot]com/test/

Пример HotelSearchResponse
Спойлер (Отобразить)

Пример GetHotelDetailResponse
Спойлер (Отобразить)
Vladimir Kheifets Отправлено: 17 Июля, 2018 - 12:00:58 • Тема: Почему в режиме $strict in_array не верную кодировку? • Форум: Вопросы новичков

Ответов: 8
Просмотров: 124
Doox911 пишет:
Делаю вот такую проверку:
PHP:
скопировать код в буфер обмена
  1.  
  2.     public static function CheckRussianLanguage ( $string ) {
  3.         $alfavit = array (' ','А','а','Б','б','В','в','Г','г','Д','д','Е','е','Ё',
  4.                          'ё','Ж','ж','З','з','И','и','Й','й','К','к','Л','л','М','м',
  5.                          'Н','н','О','о','П','п','Р','р','С','с','Т','т','У','у','Ф',
  6.                          'ф','Х','х','Ц','ц','Ч','ч','Ш','ш','Щ','щ','Ъ','ъ','Ы','ы',
  7.                          'Ь','ь','Э','э','Ю','ю','Я','я','0','1','2','3','4','5','6','7','8','9');
  8.         $dlinna_str = strlen ( $string );
  9.         $clear_string = '';
  10.         for ( $count = 0; $count<$dlinna_str; $count++ ) {
  11.             var_dump($string[$count]);
  12.            
  13.             $check = in_array ( $string[$count], $alfavit, true );
  14.             if ( $check ) {
  15.                 $clear_string .= $string[$count];
  16.             }
  17.         }
  18.         $clear_string = preg_replace ( "/ {1,}/", " ", $clear_string );
  19.         return $clear_string;
  20.     }
  21.  


При не строгом режиме пропускает всё. В чём может быть причина?
Вывожу var_dump

string(1) "�"
string(1) "�"
string(1) "�"
string(1) "�"
string(1) "�"
string(1) "�"
string(0) ""

Добрый день!
Причина в том, Вы выбираете по одному байту, а для каждый символа кириллицы в UTF-8 нужно выбирать по 2 байта и для строки "АаБбВв" strlen выдаёт значение 12, а не 6.
Спойлер (Отобразить)
Удачи!
Vladimir Kheifets Отправлено: 13 Июля, 2018 - 09:00:19 • Тема: Передать данные формы по API в CRM • Форум: Вопросы новичков

Ответов: 1
Просмотров: 71
CyberM пишет:
Имеется сайт на WordPress где используется плагин конструктор форм FormCraft. Нужно чтобы данные из этих форм передавались по API в CRM U-ON.Travel.

В FormCraft есть такая функция - Send Data to Custom URL - https://formcraft-wp[dot]com/help/se[dot][dot][dot]a-to-custom-url/ , там можно в опциях формы прописать адрес, например http://example[dot]com/handler.php - с таким кодом:



В результате его работы, в той же папке сайта, получается файл с именем test.txt в который переданы данные формы с такими данными, как: {"Entry_ID":"360","Name":"Jack Brown","Age":"32"}

А в документации по API U-ON.Travel - http://api[dot]u-on[dot]ru/doc - предлагается такой способ интеграции и пример кода:

PHP:
скопировать код в буфер обмена
  1. $curl = curl_init();
  2. CURLOPT_RETURNTRANSFER => true,
  3. CURLOPT_URL =>
  4. 'https://api.u-on.ru/1ga3bkGsm1km4/lead/create.json',
  5. CURLOPT_POST => true,
  6. CURLOPT_SSL_VERIFYHOST => false,
  7. CURLOPT_SSL_VERIFYPEER => false,
  8. CURLOPT_POSTFIELDS =>
  9. 'source='.urlencode('заявка с сайта').
  10. '&u_name='.urlencode($_POST['name']).
  11. '&u_phone='.urlencode($_POST['phone'])
  12. ));
  13. $resp = curl_exec($curl);
  14. curl_close($curl);


Я прописал в опциях FormCraft адрес к файлу с таким кодом от U-ON.Travel, но в CRM приходит почти пустая заявка, указан только источник "заявка с сайта", а данные с полей формы в заявку не передаются. Пробовал уже писать в этот код другие переменные вместо name и phone, но всё равно не получается.

Я правильно понимаю, что дело в этих переменных? Или код от U-ON.Travel в этом случае вообще не будет работать и нужно брать за основу код от FormCraft? А как его дописать, может кто поможет? Я уже обращался в поддержку U-ON.Travel, там отвечают только намеками, писал и автору плагина, но он тоже ничего внятного не подсказал. Может здесь мне помогут? Буду благодарен.
Добрый день!
Случайно, Вам не намекали откуда берутся значения:
Цитата:
'&u_name='.urlencode($_POST['name']).
'&u_phone='.urlencode($_POST['phone'])
Насколько я понял, в CRM приходит почти пустая заявка, указан только источник "заявка с сайта" потому, что значение source задано в явном виде
Цитата:
source='.urlencode('заявка с сайта')
Vladimir Kheifets Отправлено: 10 Июля, 2018 - 11:07:59 • Тема: Как получить начало каждой второй недели? • Форум: Вопросы новичков

Ответов: 5
Просмотров: 150
livote пишет:
Если просто для начала недели, то использую

А тут непонятно.

Добрый день!
Дествительно "тут непонятно"... в смысле "машины времени"....
Попробуйте два варианта: задётся желаемое количество понедельников начиня с текущего или задаётся ограничивающая дата
Спойлер (Отобразить)
Удачи!
Vladimir Kheifets Отправлено: 09 Июля, 2018 - 19:11:53 • Тема: Отправка файла из структуры файлов • Форум: Вопросы новичков

Ответов: 1
Просмотров: 88
Pavel8897 пишет:
Подскажите пожалуйста! Есть скрипт, который отправляет почту со вложением на почту. Но файл подцепляется только из заранее заданной папки ($mail->AddAttachment("files/pic.jpg"). А нужно, что бы файл можно было выбрать самому из структуры.

Отправка происходит с помощью phpmailer.
Спойлер (Отобразить)
Добрый день!
Для начала добавьте в форму атрибут enctype :
Спойлер (Отобразить)
и попробуйте заменить это:
Спойлер (Отобразить)
на:
Спойлер (Отобразить)
Удачи!

Страниц (19): [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