PHP.SU

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

Страниц (1): [1]

> Найдено сообщений: 4
prostodeniska Отправлено: 14 Марта, 2016 - 20:01:44 • Тема: Зависание скрипта с сокетом • Форум: Работа с сетью

Ответов: 0
Просмотров: 765
Есть скрипт сокет-сервера, который должен принимать данные. При этом установлен неявный сброс вывода с помощью ob_implicit_flush. Если удалить весь код после строки socket_accept включительно, то скрип выполняется и вывод отображается, но при запуске всего скрипта вывод игнорируется и он просто зависает на строке socket_accept. Попытки подключиться к нему так же безуспешны. Пример используется на PHP 5.4-5.6. Как я понял на более ранних версиях он работает корректно, но сам не проверял.

PHP:
скопировать код в буфер обмена
  1.        
  2.         ob_implicit_flush();
  3.         set_time_limit(0);
  4.  
  5.         $address = '127.0.0.1';
  6.         $port = 8889;
  7.  
  8.         $sock = socket_create(AF_INET, SOCK_STREAM, 0);
  9.         echo 'Создание сокета';
  10.         if (!$sock) {
  11.                 echo 'Ошибка: '.socket_strerror(socket_last_error());
  12.                 exit();
  13.         } else {
  14.                 echo 'ОК';
  15.         }
  16.  
  17.         socket_set_option($sock, SOL_SOCKET, SO_REUSEADDR, 1);
  18.        
  19.         $bind = socket_bind($sock, $address, $port);
  20.         if (!$bind) {
  21.                 echo 'Ошибка: '.socket_strerror(socket_last_error());
  22.                 exit();
  23.         } else {
  24.                 echo 'OК';
  25.         }
  26.  
  27.         echo 'Прослушивание сокета... ';
  28.  
  29.         $listen = socket_listen($sock, 100);
  30.         if (!$listen) {
  31.                 echo 'Ошибка: '.socket_strerror(socket_last_error());
  32.                 exit();
  33.         } else {
  34.                 echo 'ОК';
  35.         }
  36.  
  37.         while (true) {
  38.                 echo 'Ожидание подключения... ';
  39.                
  40.                 $client = socket_accept($sock);
  41.                 socket_close($client);
  42.                 if ($client === false) {
  43.                         echo 'Ошибка: '.socket_strerror(socket_last_error());
  44.                         usleep(100);
  45.                 } else {
  46.                         echo 'ОК'.PHP_EOL;
  47.                         echo 'Соединение с клиентом "'.$client.'" установлено';
  48.                 }
  49.  
  50.                 socket_close($client);
  51.         }
  52.  
  53.         socket_close($sock);
  54.  
prostodeniska Отправлено: 15 Ноября, 2015 - 13:58:46 • Тема: Запрос к двум таблицам • Форум: Вопросы новичков

Ответов: 0
Просмотров: 111
Есть две таблицы:

`tours` (
`id`,
`title`
)

`tours` (`id`, `title`) VALUES
(1, 'Москва'),
(2, 'Санкт-Петербург'),
(3, 'Казань');


`trips` (
`id` ,
`tour_id`,
`price` int(11),
`finished` date,
`seats`
)

`trips` (`id`, `tour_id`, `price`, `finished`, `seats`) VALUES
(1, 1, 1000, '2015-11-24', 20),
(2, 1, 20, '2015-11-24', 5),
(3, 1, 1000, '2015-11-24', 10),
(19, 2, 1000, '2015-11-24', 45),
(20, 2, 1000, '2015-11-24', 43),
(21, 2, 15000, '2015-11-24', 34);

К каждому городу из tours соответствуют несколько price, finished, seats из trips с соответствующими tours_id.

Я отправляю запрос SELECT tours.id, tour_id, title, price, finished, seats FROM tours, trips WHERE trips.tour_id = tours.id $where" и получаю

1 1 Москва 1000 2015-11-24 20
1 1 Москва 20 2015-11-24 5
2 2 Санкт-Петербург 1000 2015-11-24 11
...
и так далее


Необходимо выводить название города и рядом с ним таблицу с соответствующими price, finished, seats

Вопрос собственно в том, как лучше всего это осуществить. Вначале нужно вывести название города а потом все связанные с ним данные, далее следующий город и так до конца. При этом нужно как-то отслеживать общее количество городов для вывода, то есть количество уникальных записей поля titles. Возможно нужно как-то по другому написать запрос?
prostodeniska Отправлено: 22 Сентября, 2015 - 14:55:29 • Тема: Подключение стилей к вложенному шаблону • Форум: Вопросы новичков

Ответов: 1
Просмотров: 137
К основного шаблону страницы подгружается шаблон с контентом. Каким образом лучше всего осуществить подключение стилей для контента(css из внешнего файла)? На данный момент решил этот вопрос вставкой в head переменной, которая при необходимости инициализируется строкой с link'ом к нужному css, но как я понимаю, это не совсем универсальное решение.
prostodeniska Отправлено: 21 Сентября, 2015 - 23:57:24 • Тема: Подключение стилей к вложенному шаблона • Форум: HTML, Дизайн & CSS

Ответов: 0
Просмотров: 688
К основного шаблону страницы подгружается шаблон с контентом. Каким образом лучше всего осуществить подключение стилей для контента(css из внешнего файла)? На данный момент решил этот вопрос вставкой в head переменной, которая при необходимости инициализируется строкой с link'ом к нужному css, но как я понимаю, это не совсем универсальное решение.

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB