Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: помогите с датой

 PHP.SU

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


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

> Без описания
blackpatriot
Отправлено: 30 Августа, 2015 - 22:50:37
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Авг. 2015  


Помог: 0 раз(а)




нужно чтоб в коде выводилась дата
вот кусок кода
PHP:
скопировать код в буфер обмена
  1. [/PHP]
  2. $day1 = date("d", time() - 86400*80);
  3. $month1 = date("m", time() - 86400*89);
  4. $year1 = date("Y", time() - 86400*89);
  5. $day2 = date("m");
  6. $month2 = date("d");
  7. $year2 = date("Y");    
  8.  
  9.   $params = array('adddate_s_m'=>$month1, 'adddate_s_d'=>$day1, 'adddate_s_y'=>$year1, 'adddate_e_m'=>$month1, 'adddate_e_d'=>$day1, 'adddate_e_y'=>$year1, 'pflag'=>'', 'forward'=>'', 'manid'=>'','womanid'=>$this->womanid, 'Submit2=>+Search+');
  10.  


В таком варианте не работает, задача присвоить переменным в запросе, переменные из года месяца и дня.

если писать цифры руками в таком виде то все будет работать
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. $params = array('adddate_s_m'=>'06', 'adddate_s_d'=>'10', 'adddate_s_y'=>'2015', 'adddate_e_m'=>'08', 'adddate_e_d'=>'10', 'adddate_e_y'=>'2015', 'pflag'=>'', 'forward'=>'', 'manid'=>'','womanid'=>$this->womanid, 'Submit2=>+Search+');
  4.  


Не работает именно когда я пытаюсь чтоб автоматически подставилось значение...

как решить данную проблемму

помогите в чем может быть проблемма)

(Отредактировано автором: 30 Августа, 2015 - 22:51:53)

 
 Top
Мелкий Супермодератор
Отправлено: 30 Августа, 2015 - 23:08:42
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




0) Выведите себе рядом оба массива и найдите, что в них различается.
1) Найдите различающиеся элементы.
2) Выберите любой один.
3) Найдите, как заполняется этот конкретный неправильно заполненный элемент.
4) Найдите, почему он заполняется именно так.
5) Исправьте.
6) Повторяйте, пока оба массива не будут идентичны


-----
PostgreSQL DBA
 
 Top
blackpatriot
Отправлено: 30 Августа, 2015 - 23:19:25
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Авг. 2015  


Помог: 0 раз(а)




дело в том что я не могу вывести первый массив, не работает)
не работает почему то... пишет ошибка и не хочет работать.. помогите ) целый день пытаюсь сделать перебрал кучу вариантов написание не помогает

пытался выводить в отдельном файле чтоб понять что выводит

PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. <?PHP
  4.  
  5.                 $day1 = date("d", time() - 86400*80);
  6. $month1 = date("m", time() - 86400*89);
  7. $year1 = date("Y", time() - 86400*89);
  8. $day2 = date("m");
  9. $month2 = date("d");
  10. $year2 = date("Y");    
  11.  
  12.  
  13.  $params = array('adddate_s_m'=>$month1, 'adddate_s_d'=>$day1, 'adddate_s_y'=>$year1, 'adddate_e_m'=>$month1, 'adddate_e_d'=>$day1, 'adddate_e_y'=>$year1, 'pflag'=>'', 'forward'=>'', 'manid'=>'', 'Submit2=>+Search+');      
  14.  
  15. echo
  16.  
  17.  $params
  18.  
  19. ?>
  20.  
  21.  



и тоже ничего не работало((((
 
 Top
Мелкий Супермодератор
Отправлено: 30 Августа, 2015 - 23:46:42
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




blackpatriot пишет:
дело в том что я не могу вывести первый массив

Почему?
Начните тогда с ещё более базового вопроса "как вывести массив". Как его решите, возвращайтесь обратно к описанному алгоритму.


-----
PostgreSQL DBA
 
 Top
andrewkard
Отправлено: 30 Августа, 2015 - 23:52:13
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




blackpatriot
Попробуйте print_r или var_dump или так:
PHP:
скопировать код в буфер обмена
  1.  
  2. foreach ($params as $id=>$value){
  3.           echo $id.' '.$value.'<br>';
  4.   }
  5.  
 
 Top
blackpatriot
Отправлено: 31 Августа, 2015 - 00:15:13
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Авг. 2015  


Помог: 0 раз(а)




вариант который не работает

PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. $day1 = date("d", time() - 86400*80);
  4. $month1 = date("m", time() - 86400*89);
  5. $year1 = date("Y", time() - 86400*89);
  6. $day2 = date("m");
  7. $month2 = date("d");
  8. $year2 = date("Y");    
  9.  
  10.   $params = array('adddate_s_m'=>'.$month1.', 'adddate_s_d'=>'.$day1.', 'adddate_s_y'=>'.$year1.', 'adddate_e_m'=>'.$month1.', 'adddate_e_d'=>'.$day1.', 'adddate_e_y'=>'.$year1.', 'pflag'=>'', 'forward'=>'', 'manid'=>'','womanid'=>$this->womanid, 'Submit2=>+Search+');
  11.  
  12.  



вариант который работает
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3.   $params = array('adddate_s_m'=>'06', 'adddate_s_d'=>'10', 'adddate_s_y'=>'2015', 'adddate_e_m'=>'08', 'adddate_e_d'=>'10', 'adddate_e_y'=>'2015.', 'pflag'=>'', 'forward'=>'', 'manid'=>'','womanid'=>$this->womanid, 'Submit2=>+Search+');
  4.  


разница между первый и вторым вариантом лиш в том
в первом случае
переменной

'adddate_s_d' - я пытаюсь присвоить значение автоматически -80 дней от текущей даты, $day1 = date("d", time() - 86400*80); что поиде должно работать

во втором случии
я переменным

'adddate_s_d' - присваиваю значение в ручную 10 - то есть десятое число

вопрос почему переменные которые должны формировать дату. не делают этого. ведь по идее функции даты вставлены верно.
и проблема только в них

помогите
 
 Top
Мелкий Супермодератор
Отправлено: 31 Августа, 2015 - 10:58:33
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Вы считаете, что проблема только в adddate_s_d. Допустим.
Смотрим:
'adddate_s_d'=>$day1
При этом
$day1 = date("d", time() - 86400*80);
Значит, ошибка предположительно здесь.
Сначала проверим вручную: сегодня 2015-08-31. Отсчитываем 80 дней назад. По моему календарю получилось 2015-06-12.
Теперь проверим автоматику: var_dump($day1); //=> '12'.
Здесь ошибки нет. Возможно, вы пользуетесь другим календарём? У нас с PHP в работе стандартный григорианский.


-----
PostgreSQL DBA
 
 Top
blackpatriot
Отправлено: 31 Августа, 2015 - 14:16:02
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Авг. 2015  


Помог: 0 раз(а)




я пользуюсь стандартным календарем, проблемма в том что почему не срабатывает функция даты в запросе. именно в этой строке
 
 Top
Мелкий Супермодератор
Отправлено: 31 Августа, 2015 - 15:15:06
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Это безнадёжно.

Если вы хотите разобраться с программированием - то копайте. Выведите массивы и сравните значения. Не знаете как - выясните это. В массивах разные данные, хотя должны быть одинаковые - выкиньте массивы и разбирайтесь с кодом, который формирует значения. Если надо, то копайте построчно: что именно вы передаёте в функции, что вы ожидаете получить в ответ, что вы получаете в реальности. Выкидывайте всё, что не имеет отношения к проблеме.
Если не хотите - то и не тратьте напрасно время. Без желания это всё равно бесполезно. Создайте тему с вменяемым описанием что хотите получить (и не пытайтесь запутать программистов своим непониманием программирования - пишите задачу нормальным русским языком. В конце концов это наш основной навык - переводить хотелки в программный код) или в этом разделе (но не удивляйтесь отсутствию желающих поработать бесплатно) или во фрилансе.


-----
PostgreSQL DBA
 
 Top
andrewkard
Отправлено: 31 Августа, 2015 - 15:15:30
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




blackpatriot
А что за функция даты? В этой строке ее нет, только переменные и свойства класса $this->womanid
 
 Top
blackpatriot
Отправлено: 31 Августа, 2015 - 16:07:17
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Авг. 2015  


Помог: 0 раз(а)




ну как это нет вот же она, переменным присваиватся дата, далее я вставляю переменные в строку и не работает)

PHP:
скопировать код в буфер обмена
  1.  
  2. $day1 = date("d", time() - 86400*80);
  3. $month1 = date("m", time() - 86400*89);
  4. $year1 = date("Y", time() - 86400*89);
  5. $day2 = date("m");
  6. $month2 = date("d");
  7. $year2 = date("Y");    
  8.  
  9.   $params = array('adddate_s_m'=>'.$month1.', 'adddate_s_d'=>'.$day1.', 'adddate_s_y'=>'.$year1.', 'adddate_e_m'=>'.$month1.', 'adddate_e_d'=>'.$day1.', 'adddate_e_y'=>'.$year1.', 'pflag'=>'', 'forward'=>'', 'manid'=>'','womanid'=>$this->womanid, 'Submit2=>+Search+');
 
 Top
andrewkard
Отправлено: 31 Августа, 2015 - 16:50:54
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




blackpatriot пишет:
ну как это нет вот же она, переменным присваиватся дата, далее я вставляю переменные в строку и не работает)

Если честно, то трудно понять. Что именно не работает, можно конкретно объяснить? Не те данные в $params? Или функция Data выдает не ожидаемое значение? Что дальше с массивом $params?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB