PHP.SU

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

Страниц (76): В начало « ... 56 57 58 59 [60] 61 62 63 64 ... » В конец

> Найдено сообщений: 1131
Sail Отправлено: 16 Октября, 2014 - 10:02:25 • Тема: Отложенная публикация • Форум: Вопросы новичков

Ответов: 8
Просмотров: 449
Canekt28 пишет:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM orders WHERE STATUS='' AND driver='' AND problem='' AND (visible!='' OR companyId='$res[0]')  ORDER BY date,time

Что за `date` и `time` в сортировке? И где тот-самый timestamp?!
Если всё-таки есть в таблице поле с типом timestamp и, предположим, оно называется `ts`, то, например, выберем сообщения, не моложе 10 минут (время создания <= сейчас - 10 минут):
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM orders WHERE STATUS='' AND driver='' AND problem='' AND (visible!='' OR companyId='$res[0]') AND `ts` <= now() - interval 10 minute  ORDER BY date,time
Sail Отправлено: 16 Октября, 2014 - 09:41:05 • Тема: Не могу внести данные в БД Mysql • Форум: Вопросы новичков

Ответов: 5
Просмотров: 239
inna, если уж глянулся mysql, то ещё не поздно перенести внимание на расширение mysqli и разобрать примеры, приведённые в описании функции mysqli_query().
А следом - вникнуть в синтаксис sql-оператора insert
Sail Отправлено: 16 Октября, 2014 - 09:06:50 • Тема: Отложенная публикация • Форум: Вопросы новичков

Ответов: 8
Просмотров: 449
Canekt28, если в sql-запросе выбирать только записи, не младше 10 минут, то можно использовать 'interval'. Например:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT now() + interval 10 minute;
  2. SELECT convert('2014-10-16 09:11:15' + interval 10 minute, char);
  3.  

Есть и другие функции даты и времени.
А если на PHP, то, можно использовать следующие преобразования:
PHP:
скопировать код в буфер обмена
  1. $str = '2014-10-19 06:02:03';
  2. $odt = new DateTime($str);
  3. echo $odt->format('Y-m-d H:i:s').'<br>';
  4. $odt->modify('+10 minute');
  5. echo $odt->format('Y-m-d H:i:s').'<br>';
  6. $odt->modify('-10 minute');
  7. echo $odt->format('Y-m-d H:i:s').'<br>';
  8.  
Sail Отправлено: 15 Октября, 2014 - 16:32:35 • Тема: Преобразование даты • Форум: Вопросы новичков

Ответов: 6
Просмотров: 266
troelsenon, лучше так:
PHP:
скопировать код в буфер обмена
  1. $str = '03/09/14';
  2. $odt = DateTime::createFromFormat('d/m/y', $str);
  3. echo $odt->format('Y-m-d');
  4.  

(пример выше - месяц с днём путает) Ниндзя
Sail Отправлено: 15 Октября, 2014 - 13:58:03 • Тема: Таблицы • Форум: Вопросы новичков

Ответов: 5
Просмотров: 265
IdCox пишет:
Сложно?
Я не умею

Возьмите за основу пример, приведённый в описании функции mysqli_fetch_assoc()
Sail Отправлено: 15 Октября, 2014 - 12:32:48 • Тема: Непонятки с форматом даты в iso8601 • Форум: Кодировки и все смежное

Ответов: 5
Просмотров: 2117

Мелкий пишет:
Хм, вас недавно разморозили? Ещё Медведев отменил перевод часов.

Не поверите! Ожидается ещё один (как минимум) перевод... Ниндзя Буквально вот-вот...
Sail Отправлено: 15 Октября, 2014 - 12:22:57 • Тема: Непонятки с форматом даты в iso8601 • Форум: Кодировки и все смежное

Ответов: 5
Просмотров: 2117
nkl, посмотрите, быть может, окажется полезно:
PHP:
скопировать код в буфер обмена
  1. $arr = array('2014-10-19T06:00:00-0400', '2014-10-18T19:30:00.000+03:00', '1413646200000');
  2. $aOdt = array();
  3. foreach ($arr as $value) {
  4.     if(is_numeric($value)) {
  5.         $aOdt[] = new DateTime();
  6.         $aOdt[count($aOdt) - 1]->setTimestamp($value/1000);
  7.     } else {
  8.         $aOdt[] = new DateTime($value);
  9.     }
  10.     echo $value.' == '.$aOdt[count($aOdt) - 1]->format('Y-m-d H:i:s').'<br>';
  11.     echo $aOdt[count($aOdt) - 1]->getTimezone()->getName().'<br>';
  12. }
  13.  
Sail Отправлено: 15 Октября, 2014 - 11:43:34 • Тема: Буквенно чисельный диапазон • Форум: Хранение данных, их вывод и обработка

Ответов: 11
Просмотров: 2719
snikers987 пишет:
Sail пишет:

Неужели, есть разница, буквы сравнивать (латинские), или числа?!


Ну вообще-то как бы есть. Если от A до С, а нужна B, например.

И в чём проблема?
Например:
CODE (SQL):
скопировать код в буфер обмена
  1. CREATE TABLE `extable` (
  2.   `id` int(11) NOT NULL AUTO_INCREMENT
  3. , `value1` varchar(6) NOT NULL DEFAULT ''
  4. , `value2` varchar(6) NOT NULL DEFAULT ''
  5. ,  PRIMARY KEY (`id`)
  6. );
  7. INSERT INTO `extable` (`value1`, `value2`) VALUES ('A00000', 'C99999');
  8. SELECT * FROM `extable` WHERE 'B12378' BETWEEN `value1` AND `value2`;
  9. SELECT * FROM `extable` WHERE 'D12378' BETWEEN `value1` AND `value2`;
  10.  
Sail Отправлено: 15 Октября, 2014 - 11:17:44 • Тема: Буквенно чисельный диапазон • Форум: Хранение данных, их вывод и обработка

Ответов: 11
Просмотров: 2719
snikers987 пишет:
приводить все буквы к числам (т.е. 1-26)

Неужели, есть разница, буквы сравнивать (латинские), или числа?!
Раз уж 12345G больше, чем 99999B, то действительно придётся разделять буку и число (строка с лидирующими нулями).
Вот ещё вариант:
- признак наличия буквенного символа (0 - нет, 1 - в начале, 2 - в конце)
- числовая часть кода
- буквенный символ (или просто пробел).
Сравнивать со строками: 'буквенный символ'.'числовая часть кода'.
Признак наличия актуален для корректного отображения кода в форме (отчёте).
****
Впрочем, и хранить можно в одной строке... обрабатывая буквенный символ при выводе, в зависимости от признака... Улыбка
И сравнивать, как предложил RickMan.
Sail Отправлено: 15 Октября, 2014 - 10:29:33 • Тема: Буквенно чисельный диапазон • Форум: Хранение данных, их вывод и обработка

Ответов: 11
Просмотров: 2719
RickMan, "содержащий латинскую букву (A-Z)". "Гранаты не той системы" Улыбка
snikers987, 12345G больше, чем 99999B, или не больше?
Sail Отправлено: 15 Октября, 2014 - 08:43:46 • Тема: Непонятный оператор • Форум: Вопросы новичков

Ответов: 11
Просмотров: 682
pkraven, гляньте этот пример:
PHP:
скопировать код в буфер обмена
  1. $currentNode[] = array('attributes' => parseXmlAttributesString($openElement), 'children' => array());

Источник: XML Parser Functions
Sail Отправлено: 14 Октября, 2014 - 16:11:03 • Тема: как подсчитать количество новостей в mysql • Форум: Вопросы новичков

Ответов: 4
Просмотров: 142
OgStyle, что касается вопроса, обозначенного темой, то, наверное, только ручное перелопачивание с сохранением промежуточных результатов подсчёта в блокнотике (или тетрадке) странички MySQL News Announcements поможет... Ниндзя
Sail Отправлено: 14 Октября, 2014 - 16:05:27 • Тема: как подсчитать количество новостей в mysql • Форум: Вопросы новичков

Ответов: 4
Просмотров: 142
Вот пример запроса:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT count(*), `news_cat` FROM `news` GROUP BY `news_cat`

Подробности можно узнать из описания: Функции, используемые в операторах GROUP BY
Sail Отправлено: 14 Октября, 2014 - 14:06:58 • Тема: Ни как не выходит! Простой скрипт, но головоломка) • Форум: Напишите за меня, пожалуйста

Ответов: 8
Просмотров: 93
GrozInventor пишет:
3 строчка почему то заканчивается на 5, хотя должна так же до 6 идти...

Эт потому что в исходной строке 5-6 описана до 3-5.
Можно, например, отсортировать $arr.
После третьей строки:
Sail Отправлено: 14 Октября, 2014 - 13:18:28 • Тема: Ни как не выходит! Простой скрипт, но головоломка) • Форум: Напишите за меня, пожалуйста

Ответов: 8
Просмотров: 93
GrozInventor пишет:
Очень благодарю добрый человек!

Ну, и на случай, если они пути ещё и сходятся в одну точку, местами:
PHP:
скопировать код в буфер обмена
  1. $z = '1-2|2-4|4-5|2-3|4-6|5-6|5-7|3-6|6-7|4-7';
  2.  
  3. $arr = explode('|', $z);
  4. $aPath = array();
  5. foreach ($arr as $value) {
  6.     $arr2 = explode('-', $value);
  7.     $bF = FALSE;
  8.     $arrCheck = array();
  9.     foreach($aPath as &$aVal) { // чей хвост?
  10.         if($aVal[count($aVal) - 1] == $arr2[0]) {
  11.             $aVal[] = $arr2[1];
  12.             $bF = TRUE;
  13.         } elseif(($i = array_search($arr2[0], $aVal)) !== FALSE) {
  14.             $arr3 = array_slice($aVal, 0, $i + 1);
  15.             $str = implode('', $arr3).$arr2[1];
  16.             if(!in_array($str, $arrCheck)) {
  17.                 $arrCheck[] = $str;
  18.                 array_push($arr3, $arr2[1]);
  19.                 $aPath[] = $arr3;
  20.             }
  21.             $bF = TRUE;
  22.         }
  23.     }
  24.     if(!$bF) {$aPath[] = array($arr2[0], $arr2[1]);}
  25. }
  26. foreach($aPath as $value) {
  27.     $str = implode(',', $value);
  28.     echo $str.'<br>';
  29. }
  30.  

Страниц (76): В начало « ... 56 57 58 59 [60] 61 62 63 64 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB