PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (7): [1] 2 3 4 5 6 7 »
Найдено сообщений: 101
STRELOK
Отправлено: 24 Декабря, 2013 - 16:05:32 • Тема: Отображение каких-либо статистических данных за какой-либо период • Форум: Программирование на PHP
Ответов: 5 Просмотров: 451
Приветствую!
Подскажите, пожалуйста, каким образом можно реализовать вывод какой-либо статистики за определенный период?
Предположим, у меня есть программа, каждый раз (при запуске) она отсылает служебную информацию на сервер. Пускай это будет что-то вроде версии программы, версия ОС, разрядность ОС.
Эти данные заносятся новой записью в таблицу с добавлением UNIX TIMESTAMP в UTC.
Понятно как извлечь данные за определенный год, месяц, день, час. Но.
Предположим, мы решили вывести статистику за день. Сделали выборку данных.
Вернулось какое-то количество подходящих записей.
Далее, лучшего я придумать пока не могу , как пройтись по всем данным, формируя массив данных. Где (в случае статистики за день), идет группировка по часам от 00 до 23, и в каждую группу добавление подходящих записей.
Но, что если записей много? Скрипт не уложиться в таймаут и\или сожрет весь проц и\или сожрет всю оперативку.
Как быть?
Если кто реализовывал нечто подобное, поделитесь пожалуйста хотя-бы алгоритмом на словах.
Как все это отрисовать в график, это отдельный разговор.
STRELOK
Отправлено: 23 Ноября, 2013 - 20:27:30 • Тема: Подскажите, пожалуйста, с запросом из нескольких таблиц • Форум: SQL и Архитектура БД
Ответов: 2 Просмотров: 28
Большое спасибо! Не знал про такую возможность...
CODE (
SQL ):
скопировать код в буфер обмена
SELECT
`windows_names` . `id` ,
`windows_names` . `name` ,
`windows_names` . `year` ,
`windows_core_version` . `nt` ,
`windows_cost` . `cost`
FROM `windows_names`
LEFT JOIN `windows_core_version` ON `windows_core_version` . `win_id` = `windows_names` . `id`
LEFT JOIN `windows_cost` ON `windows_cost` . `win_id` = `windows_names` . `id`
WHERE `windows_names` . `id` = 1
Работает)
STRELOK
Отправлено: 23 Ноября, 2013 - 20:06:51 • Тема: Подскажите, пожалуйста, с запросом из нескольких таблиц • Форум: SQL и Архитектура БД
Ответов: 2 Просмотров: 28
Приветствую!
Для примера, возьмем вот такие 3 незамысловатые таблицы:
Каким образом, можно составить запрос, чтобы возвращало примерно следующее:
Т.е., если запись из 2 или 3 таблицы не найдена, для текущей Windows, то вовзвращало пустое место в соответствующих столбцах.
Вот такой запрос
CODE (
SQL ):
скопировать код в буфер обмена
SELECT *
FROM `windows_names` , `windows_core_version` , `windows_cost`
WHERE `windows_names` . `id` = '1'
AND `windows_core_version` . `win_id` = `windows_names` . `id`
AND `windows_cost` . `win_id` = `windows_names` . `id`
Ничего не возвращает.
Дамп базы данных (Отобразить )
CODE (
SQL ):
скопировать код в буфер обмена
-- phpMyAdmin SQL Dump
-- version 4.0.9
-- http://www.phpmyadmin.net
--
-- Хост: localhost
-- Время создания: Ноя 23 2013 г., 22:04
-- Версия сервера: 5.5.19
-- Версия PHP: 5.4.22
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO" ;
SET time_zone = "+00:00" ;
--
-- База данных: `win`
--
-- --------------------------------------------------------
--
-- Структура таблицы `windows_core_version`
--
CREATE TABLE IF NOT EXISTS `windows_core_version` (
`id` int( 6) NOT NULL AUTO_INCREMENT ,
`win_id` int( 6) DEFAULT NULL ,
`nt` varchar( 32) DEFAULT NULL ,
PRIMARY KEY ( `id` )
) ENGINE= MyISAM DEFAULT CHARSET= utf8 AUTO_INCREMENT = 5 ;
--
-- Дамп данных таблицы `windows_core_version`
--
INSERT INTO `windows_core_version` ( `id` , `win_id` , `nt` ) VALUES
( 1 , 2 , 'Windows NT 6.0' ) ,
( 2 , 3 , 'Windows NT 6.1' ) ,
( 3 , 4 , 'Windows NT 6.2' ) ,
( 4 , 5 , 'Windows NT 6.3' ) ;
-- --------------------------------------------------------
--
-- Структура таблицы `windows_cost`
--
CREATE TABLE IF NOT EXISTS `windows_cost` (
`id` int( 6) NOT NULL AUTO_INCREMENT ,
`win_id` int( 6) DEFAULT NULL ,
`cost` int( 6) DEFAULT NULL ,
PRIMARY KEY ( `id` )
) ENGINE= MyISAM DEFAULT CHARSET= utf8 AUTO_INCREMENT = 4 ;
--
-- Дамп данных таблицы `windows_cost`
--
INSERT INTO `windows_cost` ( `id` , `win_id` , `cost` ) VALUES
( 1, 1, 2000) ,
( 2, 3, 3000) ,
( 3, 4, 4000) ;
-- --------------------------------------------------------
--
-- Структура таблицы `windows_names`
--
CREATE TABLE IF NOT EXISTS `windows_names` (
`id` int( 6) NOT NULL AUTO_INCREMENT ,
`name` varchar( 32) DEFAULT NULL ,
`year` int( 4) DEFAULT NULL ,
PRIMARY KEY ( `id` )
) ENGINE= MyISAM DEFAULT CHARSET= utf8 AUTO_INCREMENT = 6 ;
--
-- Дамп данных таблицы `windows_names`
--
INSERT INTO `windows_names` ( `id` , `name` , `year` ) VALUES
( 1 , 'Windows XP' , 2001 ) ,
( 2 , 'Windows Vista' , 2006 ) ,
( 3 , 'Windows 7' , 2009 ) ,
( 4 , 'Windows 8' , 2012 ) ,
( 5 , 'Windows 8.1' , 2013) ;
STRELOK
Отправлено: 22 Ноября, 2013 - 09:00:32 • Тема: Проверка пользовательского сертификата • Форум: Программирование на PHP
Ответов: 3 Просмотров: 382
DeepVarvar пишет: Проверить сертификат может браузер, это у него под капотом.
У него есть некоторый базовый список сертификатов.
И если он не находит в своем списке предоставленный сертификат, то пойдет кудатотам и спросит а нет ли этого сертификата у них в большом главном списке (я не знаю куда и где).
Так вот если и там нету предоставленного сертификата,
то браузер предлагает принять тот который передали с сервера и довериться на свой страх и риск.
Скорее всего так будет и в Вашем случае т.к.
STRELOK пишет: Сертификат выдан самосозданным CA
Курл умеет сертификаты, и умеет работать с секурным соединением,
надо все такие запросы переложить на его плечи. И скорее всего у него есть опция,
которая дает возможность автоматически принять неизвестный миру сертификат.
Нет нет.
Браузер и CURL тут вообще никаким боком не стоят.
Мое приложение выполнят запрос на мой сервер. В ходе запроса должно передать свой сертификат.
Мне нужно на сервера, как-то определить, что этот сертификат действительно выдан мною, т.е. моим корневым сертификатом.
Какие есть пути реализации?
STRELOK
Отправлено: 21 Ноября, 2013 - 08:58:50 • Тема: Проверка пользовательского сертификата • Форум: Программирование на PHP
Ответов: 3 Просмотров: 382
Доброго времени суток!
Подскажите, пожалуйста, можно-ли как-то проверить ssl сертификат приложения, который приложение передает при запросе на сервер?
Сертификат выдан самосозданным CA.
Посмотрел функционал openssl в php, не нашел подобной функции. Нашел разве что, упоминание того, что при проверке сертификатов нужно указать папку с доверенными CA. Но больше информации нет!
STRELOK
Отправлено: 26 Декабря, 2011 - 18:18:37 • Тема: Параметры скрипта • Форум: Кодировки и все смежное
Ответов: 16 Просмотров: 5757
Ну че делать то? Подскажите пожалуйста, не получается ничего( Самое главное текст как UTF-8 определяется(
STRELOK
Отправлено: 24 Декабря, 2011 - 15:18:16 • Тема: Параметры скрипта • Форум: Кодировки и все смежное
Ответов: 16 Просмотров: 5757
Мелкий пишет: STRELOK пишет: Если ввести в адресной строке test2.php?f=Тест то мы опять вернемся к самому началу, т.е. f=%F2%E5%F1%F2.
Так вот это-то мне повторить и не удалось. Все протестированные браузеры отправляли один и тот же запрос.
Хм. Мысля, момент.
Да, под виндой - запрос пошёл на %F2%E5%F1%F2, т.е. cp1251
В том то и дело... почему тогда mb определяет как утф?
STRELOK
Отправлено: 24 Декабря, 2011 - 14:58:51 • Тема: Параметры скрипта • Форум: Кодировки и все смежное
Ответов: 16 Просмотров: 5757
Да, но. Если ввести в адресной строке test2.php?f=Тест то мы опять вернемся к самому началу, т.е. f=%F2%E5%F1%F2.
При этом:
отображает вот что:
string(4) "����"
UTF-8
STRELOK
Отправлено: 22 Декабря, 2011 - 21:31:43 • Тема: Параметры скрипта • Форум: Кодировки и все смежное
Ответов: 16 Просмотров: 5757
Мелкий пишет: 0)
STRELOK пишет: test.php?test=Тест >>> test.php?test=%D2%E5%F1%F2
Почему? Должно быть
%D1%82%D0%B5%D1%81%D1%82
1) rawurldecode зачем? PHP самостоятельно декодирует $_GET.
Работает блин... И как быть теперь? Ведь "тест" сам браузер кодирует! Проверял на лисе, хроме, опере
STRELOK
Отправлено: 22 Декабря, 2011 - 08:07:33 • Тема: Параметры скрипта • Форум: Кодировки и все смежное
Ответов: 16 Просмотров: 5757
Panoptik пишет: а сам файл в какой кодировке сохранен? test.php который???
страница в utf8 без BOM
в htaccess utf8
в хидерах utf8
в странице указан utf8
в соединении с БД тоже utf8, база данных тожу утф, таблица тоже утф. Русские, японские символы отображаются нормально.
STRELOK
Отправлено: 21 Декабря, 2011 - 18:43:51 • Тема: Параметры скрипта • Форум: Кодировки и все смежное
Ответов: 16 Просмотров: 5757
Slesher пишет: ну а просто $test? И что записывается в БД?
Отображает ли браузер при выборе хъоть какой-то кодировке?
В БД запись не добавляется вообще. Могу попробовать через mysql драйвер а не через mysqli.
На счет браузера, сейчас проверю.
Просто тест - 4 квадрата
Òåñò - ISO-8859-1
Тест - Кириллица Windows
STRELOK
Отправлено: 21 Декабря, 2011 - 18:33:33 • Тема: Параметры скрипта • Форум: Кодировки и все смежное
Ответов: 16 Просмотров: 5757
Доброго времени суток!
Разрабатываю новый движок сайта, решил все делать на UTF8. Сам сайт, база данных работает прекрасно. Но столкнулся с проблемой.
страничка в утф, в htaccess стоит утф, контанттайп стоит утф. Больше я уже не знаю, где и как можно указать.
test.php?test=Тест >>> test.php?test=%D2%E5%F1%F2
выводит 4 квадратика.
Подскажите пожалуйста, в какую сторону копать? И есть ли какие то подводные камни при работе со строками?
STRELOK
Отправлено: 16 Декабря, 2011 - 20:26:44 • Тема: PHPMailer + yandex.ru • Форум: Работа с сетью
Ответов: 0 Просмотров: 5303
Никак не получается настроить отправку писем используя PHPmailer. Подскажите пожалуйста, в чем ошибка может быть?
PHP:
скопировать код в буфер обмена
<?PHP
require_once "phpmailer/class.phpmailer.php" ;
"host" => "smtp.yandex.ru" , //smtp сервер
"debug" => 1 , //отображение информации дебаггера (0 - нет вообще)
"auth" => true , //сервер требует авторизации
"port" => 465 , //порт (по-умолчанию - 25)
"secure" => "tls" ,
"username" => "my@domain.ru" , //имя пользователя на сервере
"password" => "test" , //пароль
"addreply" => "my@domain.ru" , //ваш е-mail
"replyto" => "my@domain.ru" //e-mail ответа
) ;
function smtpmail( $to , $subject , $content , $attach = false )
{
$mail = new PHPMailer( true ) ;
$mail -> IsSMTP ( ) ;
try {
$mail -> Host = $__smtp [ 'host' ] ;
$mail -> SMTPDebug = $__smtp [ 'debug' ] ;
$mail -> SMTPAuth = $__smtp [ 'auth' ] ;
$mail -> SMTPSecure = $__smtp [ 'secure' ] ;
$mail -> Port = $__smtp [ 'port' ] ;
$mail -> Username = $__smtp [ 'username' ] ;
$mail -> Password = $__smtp [ 'password' ] ;
$mail -> AddReplyTo ( $__smtp [ 'addreply' ] , $__smtp [ 'username' ] ) ;
$mail -> AddAddress ( $to ) ; //кому письмо
$mail -> SetFrom ( $__smtp [ 'addreply' ] , $__smtp [ 'username' ] ) ; //от кого (желательно указывать свой реальный e-mail на используемом SMTP сервере
$mail -> AddReplyTo ( $__smtp [ 'addreply' ] , $__smtp [ 'username' ] ) ;
$mail -> MsgHTML ( $content ) ;
if ( $attach ) $mail -> AddAttachment ( $attach ) ;
$mail -> Send ( ) ;
echo "Message sent Ok!</p>\n " ;
} catch ( phpmailerException $e ) {
echo $e -> errorMessage ( ) ;
} catch ( Exception $e ) {
echo $e -> getMessage ( ) ;
}
}
smtpmail( 'mail@mail.ru' , 'Test' , 'A test message' ) ;
Вместо my@domain.ru используется реальный адрес электронной почты для домена от Яндекса. Сама по себе почта работает.
Вместо mail@mail.ru используется реальный адресс электронной почты на mail.ru.
Страниц (7): [1] 2 3 4 5 6 7 »
Powered by ExBB FM 1.0 RC1. InvisionExBB