PHP.SU

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

Страниц (52): В начало « ... 6 7 8 9 [10] 11 12 13 14 ... » В конец

> Найдено сообщений: 766
pantela Отправлено: 25 Мая, 2016 - 11:46:59 • Тема: Простой арифметический запрос • Форум: Напишите за меня, пожалуйста

Ответов: 2
Просмотров: 41
отл. спс,
pantela Отправлено: 25 Мая, 2016 - 07:36:40 • Тема: Простой арифметический запрос • Форум: Напишите за меня, пожалуйста

Ответов: 2
Просмотров: 41
Каждому объекту недвижимости по значению поля скидки, надо считать каждый тариф времени...

Наверное можно написать все через один запрос и сгруппировать в одну запись 3 тарифы, или может через метод и на стороне ПШП считать арифметику (думаю так правильнее)

спс.Ув. Растерялся
pantela Отправлено: 25 Мая, 2016 - 02:29:28 • Тема: Метод для подсчёта тарифа • Форум: Напишите за меня, пожалуйста

Ответов: 2
Просмотров: 55
Кое как сделал, может тупо, но работает...
Оба метода в одном классе, что бы тупо 2 метода не держать, как их объединить? Растерялся


PHP:
скопировать код в буфер обмена
  1.     public function addDistrictCalcPricesByIDItem($item)
  2.     {
  3.         $item['district_calc_price'] = $this->addDistrictCalcPricesByIDItemCalc($item);
  4.         return $item;
  5.     }
  6.  
  7.     public function addDistrictCalcPricesByIDItemCalc($item)
  8.     {
  9.         $_model_map = new Model_Map();
  10.  
  11.         $district_price = $_model_map->getDistrictPricesByID($item['district_key']);
  12.  
  13.         $price_discount = $item['price_discount'];
  14.  
  15.         foreach($district_price as &$i)
  16.         {
  17.             if ($price_discount) {
  18.                 $i = ceil($i-$i*$price_discount/100);
  19.             }
  20.         }
  21.         return $district_price;
  22.     }
pantela Отправлено: 22 Мая, 2016 - 17:35:39 • Тема: Определить промежуток времени • Форум: Вопросы новичков

Ответов: 0
Просмотров: 98
Имею поле, где пользователь указывает время которое надо определять в какой промежуток времени попадает.
В БД имею таблицу виде

CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. CREATE TABLE IF NOT EXISTS `booking_extra_times` (
  3.   `id` int(11) NOT NULL AUTO_INCREMENT,
  4.   `status` tinyint(4) NOT NULL,
  5.   `type` varchar(25) COLLATE utf8_unicode_ci NOT NULL,
  6.   `time_start` time NOT NULL,
  7.   `time_end` time NOT NULL,
  8.   `price` tinyint(2) NOT NULL,
  9.   PRIMARY KEY (`id`)
  10. ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=7 ;
  11.  
  12. --
  13. -- Dumping data for table `booking_extra_times`
  14. --
  15.  
  16. INSERT INTO `booking_extra_times` (`id`, `status`, `type`, `time_start`, `time_end`, `price`) VALUES
  17. (1, 1, 'in', '12:00:00', '14:00:00', 0),
  18. (2, 1, 'in', '18:00:00', '20:00:00', 0),
  19. (3, 1, 'in', '23:00:00', '07:00:00', 10);


Как определять в какой промежуток времени попадает пользователь. если напр. указал "01:00:00", значит попадает в (3, 1, 'in', '23:00:00', '07:00:00', 10)
т.к. 23:00:00 это пред. дата, а 07:00:00 след. дата...

Думаю 2 решения (если имеет большое различие какое использовать):
1. Определять всё при запросе
2. Вытащить все записи и определять на стороне PHP

спс.Ув.
pantela Отправлено: 21 Мая, 2016 - 18:58:50 • Тема: Написать функцию калькулятора • Форум: FreeLance

Ответов: 0
Просмотров: 473
Удалите тему, работа выполнена.

спс.Ув.
pantela Отправлено: 21 Мая, 2016 - 17:37:43 • Тема: Ошибка Khana 3.2 ErrorException [ Strict ]: Creating default object from empty value Ошибка Kohana 3.2 ErrorException [ Strict ]: Creating default object from empty valueErrorException [ Strict ]: Cr • Форум: CMS и фреймворки

Ответов: 3
Просмотров: 5542
Хоть и топик усторел, но у меня тоже это проблемма, но она только на хосту... на локалке без ошибки работает...
ErrorException [ Warning ]: Creating default object from empty value

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. class Controller_Admin_Pages_Dashboard_Dashboard extends Controller_Admin_Sbase {
  3.  
  4.         public function action_index()
  5.         {
  6.  
  7.                 $block_left->object_booking = View::factory('admin/widgets/stat_progress/objects/object_booking');
  8.  
  9.                 $this->template->block_left = array($block_left);
  10.  
  11.         }
  12.        
  13. }
  14.  



CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. class Controller_Admin_Sbase extends Controller_Core {
  3.  
  4.         public $template = 'admin/v_base';
  5.  
  6.         ...
  7. }
  8.  


Локально print_r выводит
CODE (htmlphp):
скопировать код в буфер обмена
  1. (
  2.     [0] => stdClass Object
  3.         (
  4.             [object_booking] => View Object
  5.                 (
  6.                     [_file:protected] => Z:\home\test37.ru\www\application\views\admin/widgets/stat_progress/objects/object_booking.php
  7.                     [_data:protected] => Array
  8.                         (
  9.                         )
  10.  
  11.                 )
  12.  
  13.         )
  14.  
  15. )


Ну а уже вывод пытаюсь вывести так
CODE (htmlphp):
скопировать код в буфер обмена
  1. if (isset($block_left))
  2. {
  3.         foreach($block_left[0] as $bleft) echo $bleft;
  4. }
pantela Отправлено: 18 Мая, 2016 - 09:49:04 • Тема: Метод для подсчёта тарифа • Форум: Напишите за меня, пожалуйста

Ответов: 2
Просмотров: 55
Растерялся не догоняю как бы сделать... теоритический хотяб дайте совет...
pantela Отправлено: 17 Мая, 2016 - 17:25:08 • Тема: Метод для подсчёта тарифа • Форум: Напишите за меня, пожалуйста

Ответов: 2
Просмотров: 55
Имею метод "get_all()" каторый выводит список объектов

CODE (htmlphp):
скопировать код в буфер обмена
  1. public function get_all()
  2. {
  3.     $res = DB::select('id', 'price_discount','district_key')
  4.         ->from('object')
  5.         ->order_by('id', 'DESC')
  6.         ->where('status', '=', 1)
  7.         ->as_array();
  8.  
  9.     $res = $this->addDistrictPricesByIDItems($res);
  10.  
  11.     if (!empty($res)) return $res;
  12.     return null;
  13. }


Передаём ключь для вывода массива "district_price"
CODE (htmlphp):
скопировать код в буфер обмена
  1. public function addDistrictPricesByIDItems($items)
  2. {
  3.     foreach($items as &$i)
  4.    {
  5.        $i['district_price'] = $this->getDistrictPricesByID($i['district_key']);
  6.     }
  7.     return $items;
  8. }



Выводим массив "district_price" через "$district_key"
CODE (htmlphp):
скопировать код в буфер обмена
  1. public function getDistrictPricesByID($district_key)
  2. {
  3.     $res =
  4.         DB::select('price_full_day','price_first_half','price_second_half')
  5.         ->from($this->_table_district)
  6.         ->where('id','=',$district_key)
  7.         ->execute()
  8.         ->as_array();
  9.     if (!empty($res)) return $res[0];
  10.     return null;
  11. }



Результат
CODE (htmlphp):
скопировать код в буфер обмена
  1. (
  2.     [0] => Array
  3.         (
  4.             [id] => 30
  5.             [price_discount] => 5
  6.             [district_price] => Array
  7.                 (
  8.                     [price_full_day] => 70
  9.                     [price_first_half] => 30
  10.                     [price_second_half] => 50
  11.                 )
  12.         )
  13.     [1] => Array
  14.         (
  15.             [price_discount] => 3
  16.             [district_price] => Array
  17.                 (
  18.                     [price_full_day] => 70
  19.                     [price_first_half] => 30
  20.                     [price_second_half] => 50
  21.                 )
  22.         )
  23.     [2] => Array
  24.         (
  25.             [price_discount] => 0
  26.             [district_price] => Array
  27.                 (
  28.                     [price_full_day] => 70
  29.                     [price_first_half] => 30
  30.                     [price_second_half] => 50
  31.                 )
  32.         )
  33.     [3] => Array
  34.         (
  35.             [price_discount] => 10
  36.             [district_price] => Array
  37.                 (
  38.                     [price_full_day] => 70
  39.                     [price_first_half] => 30
  40.                     [price_second_half] => 50
  41.                 )
  42.         )
  43. )



Теперь мне надо создать метод "priceCalc()" и вызывать его в методе "get_all()" для того что-бы передавать каждой записи ['district_price'] и ['price_discount'], а уже в методе "priceCalc()" считать значения по формуле:
['district_price'][price_full_day] * [price_discount] / 100
['district_price'][price_first_half] * [price_discount] / 100
['district_price'][price_second_half] * [price_discount] / 100



Витоге массив будет ~ виде:
CODE (htmlphp):
скопировать код в буфер обмена
  1. (
  2.     [0] => Array
  3.         (
  4.             [id] => 30
  5.             [price_discount] => 5
  6.             [district_price] => Array
  7.                 (
  8.                     [price_full_day] => 70
  9.                     [price_first_half] => 30
  10.                     [price_second_half] => 50
  11.                 )
  12.             [price_calc] => Array
  13.                 (
  14.                     [price_full_day] => 3.5
  15.                     [price_first_half] => 1.5
  16.                     [price_second_half] => 2.5
  17.                 )
  18.         )
  19.     [1] => Array
  20.         (
  21.             [price_discount] => 3
  22.             [district_price] => Array
  23.                 (
  24.                     [price_full_day] => 70
  25.                     [price_first_half] => 30
  26.                     [price_second_half] => 50
  27.                 )
  28.             [price_calc] => Array
  29.                 (
  30.                     [price_full_day] => 1.4
  31.                     [price_first_half] => 0.9
  32.                     [price_second_half] => 1.5
  33.                 )
  34.         )
  35.     [2] => Array
  36.         (
  37.             [price_discount] => 0
  38.             [district_price] => Array
  39.                 (
  40.                     [price_full_day] => 70
  41.                     [price_first_half] => 30
  42.                     [price_second_half] => 50
  43.                 )
  44.             [price_calc] => Array
  45.                 (
  46.                     [price_full_day] => 0
  47.                     [price_first_half] => 0
  48.                     [price_second_half] => 0
  49.                 )
  50.         )
  51.     [3] => Array
  52.         (
  53.             [price_discount] => 10
  54.             [district_price] => Array
  55.                 (
  56.                     [price_full_day] => 70
  57.                     [price_first_half] => 30
  58.                     [price_second_half] => 50
  59.                 )
  60.             [price_calc] => Array
  61.                 (
  62.                     [price_full_day] => 7
  63.                     [price_first_half] => 3
  64.                     [price_second_half] => 5
  65.                 )
  66.         )
  67. )


спс.Ув. Закатив глазки
pantela Отправлено: 11 Мая, 2016 - 14:07:23 • Тема: Один роут для несколько методов • Форум: Вопросы новичков

Ответов: 0
Просмотров: 62
Делаю API который имеет 2 метода "reg" и "chekbooking"


Делаю роут виде:
CODE (htmlphp):
скопировать код в буфер обмена
  1. Route::set('api/ipad','api/ipad/<act>(/<object_id>)(/<booking_id>)/<device_id>', array(
  2.                 'act'                   => '[a-z]*',
  3.                 'object_id'             => '[0-9]+',
  4.                 'booking_id'    => '[0-9]+',
  5.                 'device_id'             => '[^/]*'
  6.         ))->defaults(array(
  7.                 'directory'             => 'api',
  8.                 'controller'    => 'ipad'
  9.         ));


Пометил что параметры "object_id" и "booking_id" необязательный. А точнее когда:
act = reg, тогда нужен "object_id"
act = chekbooking, тогда нужен "booking_id"

Параметр "device_id" всегда обязательный, поэтому его в скобки не поместил.

Когда тестирую запрос результат такой:

/api/ipad/reg/30/this_is_device
CODE (htmlphp):
скопировать код в буфер обмена
  1. act: reg
  2. object_id: 30
  3. booking_id:
  4. device_id: this_is_device



/api/ipad/chekbooking/1547/this_is_device
CODE (htmlphp):
скопировать код в буфер обмена
  1. act: chekbooking
  2. object_id: 1547
  3. booking_id:
  4. device_id: this_is_device



При "chekbooking" значение "booking_id" переходит в "object_id" Растерялся Я понимаю что у меня указанно "object_id" как второй параметр и поэтому, а т.к. параметр "device_id" у меня обязательный, его значение и подставляется из последнего параметра.

Вопрос: Как можно, как-нибудь отличить какой параметр я передаю в моём случае... Однако

спс.Ув.
pantela Отправлено: 03 Мая, 2016 - 14:51:52 • Тема: Как хранить 32 поля • Форум: Вопросы новичков

Ответов: 32
Просмотров: 1928
Может merge сделать массивам и через один foreach их выводить и внутри проверять вывод Растерялся
pantela Отправлено: 29 Апреля, 2016 - 21:07:52 • Тема: Как хранить 32 поля • Форум: Вопросы новичков

Ответов: 32
Просмотров: 1928
Пробую переписать всё функцию.
pantela Отправлено: 27 Апреля, 2016 - 09:27:25 • Тема: Как хранить 32 поля • Форум: Вопросы новичков

Ответов: 32
Просмотров: 1928
kuller пишет:
kuller


Да но когда будет 1000 записей, мне 1000 файлов ведь не держать... всё-же на файлах ничего особо не хотелось бы...

Кто что ещё помечил бы...
спс.Ув.

Мелкий пишет:
Мелкий

ок, спс, сейчас поковиряю...
pantela Отправлено: 27 Апреля, 2016 - 02:33:47 • Тема: Как хранить 32 поля • Форум: Вопросы новичков

Ответов: 32
Просмотров: 1928
Ну если подвести итог сделал так... Имею 32 checkbox поля
В таблице в поле text сохраняю
CODE (SQL):
скопировать код в буфер обмена
  1. {
  2. "comfort_1":"1",
  3. "comfort_2":"1",
  4. "comfort_3":"0",
  5. "comfort_4":"1",
  6. "comfort_5":"0",
  7. "comfort_6":"0",
  8. "comfort_7":"1",
  9. "comfort_8":"1",
  10. "comfort_9":"0",
  11. "comfort_10":"1",
  12. "comfort_11":"0",
  13. "comfort_12":"0",
  14. "comfort_13":"1",
  15. "comfort_14":"1",
  16. "comfort_15":"0",
  17. "comfort_16":"1",
  18. "comfort_17":"0",
  19. "comfort_18":"0",
  20. "comfort_19":"1",
  21. "comfort_20":"1",
  22. "comfort_21":"0",
  23. "comfort_22":"1",
  24. "comfort_23":"0",
  25. "comfort_24":"0",
  26. "comfort_25":"1",
  27. "comfort_26":"1",
  28. "comfort_27":"0",
  29. "comfort_28":"1",
  30. "comfort_29":"0",
  31. "comfort_30":"0",
  32. "comfort_31":"1",
  33. "comfort_32":"0"
  34. }


Вывожу так
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if($data['comfort_data']){
  3.   $count_comfort_data = count($data['comfort_data']);
  4.  
  5.   foreach ($data['comfort_data'] as $key => $value) {
  6.     $checked = ($value == '1')?' checked="checked"':'';
  7.     echo '<div class="checkbox custom-checkbox"><label><input name="'.$key.'" type="checkbox" '.$checked.'><span class="fa fa-check"></span> '.$key.'</lable></div>';
  8.   }
  9. }
  10. ?>


Теперь осталось на сохранение послать... Сейчас POST выводи так
PHP:
скопировать код в буфер обмена
  1. [comfort_1] => on
  2.     [comfort_2] => on
  3.     [comfort_4] => on
  4.     [comfort_7] => on
  5.     [comfort_8] => on
  6.     [comfort_10] => on
  7.     [comfort_13] => on
  8.     [comfort_14] => on
  9.     [comfort_16] => on
  10.     [comfort_19] => on
  11.     [comfort_20] => on
  12.     [comfort_22] => on
  13.     [comfort_25] => on
  14.     [comfort_26] => on
  15.     [comfort_28] => on
  16.     [comfort_31] => on


1. Думаю как теперь все поля в один массив собрать, чтобы сохранялся бы также т.к. сейчас они у меня виде одного поля - наверное, через forech надо все поля пропустить (количество знаю $count_comfort_data) и так собрать...

2. Те поля которые не выделены вообще не попадают в POST... - наверное, (isset($data['pool']))?'1':'0' надо будет предварительно сделать

Очень прошу строго не судите, первый раз такое делаю, вот и опыта набираю... лучше подправьте если что не так Закатив глазки ))
pantela Отправлено: 26 Апреля, 2016 - 21:25:07 • Тема: Как хранить 32 поля • Форум: Вопросы новичков

Ответов: 32
Просмотров: 1928
caballero пишет:
serialize()
не сталкивался... просто приведите пример как хранить в БД, как сохранять и выводить...
спс.Ув.
pantela Отправлено: 26 Апреля, 2016 - 15:21:38 • Тема: Ввести логи изменения • Форум: Вопросы новичков

Ответов: 3
Просмотров: 192
Речь идёт о логирования данных которые сотрудник изменяеться через админ части. А данные хотел бы хранить в БД.

спс.ув.

Страниц (52): В начало « ... 6 7 8 9 [10] 11 12 13 14 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB