PHP.SU

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

Страниц (5): [1] 2 3 4 5 »

> Найдено сообщений: 66
Designer Отправлено: 12 Июля, 2014 - 19:24:41 • Тема: Помогите составить запрос, или вообще возможноли это сделать • Форум: SQL и Архитектура БД

Ответов: 8
Просмотров: 78
LIME, во первых оскорбления не в тему, были бы в тему промолчал, Ты не прав!

во вторых я если честно не пойму что непонятного в моем вопросе, и мне нахер не нужно обновление, мне нужно добавление записи, то есть,

что то выполняется на постоянной основе и записывается в определенное поле в этой таблице, далее наступают новые сутки, и само собой записи за эти новые сутки нет, значит ее нужно записать просто создав запись а поля буду автоматом со значением 0, и после этого всего получить данные, пусть даже нулевые, но главное что за новые сутки в таблице появилась запись! Проверка и создание это ведь уже 2 разных запроса, не так ли??

Я в 1 строчке четко описал необходимое и даже привел последовательный код тех самых запросов в БД с пояснением!

Я в шоке если чесно!
(Добавление)
и еще, по твоей перво2й наводке загуглил, да что то типо того, но я не особо силен в SQL, потому и создал тему о помощи
Designer Отправлено: 12 Июля, 2014 - 18:18:00 • Тема: Помогите составить запрос, или вообще возможноли это сделать • Форум: SQL и Архитектура БД

Ответов: 8
Просмотров: 78
Непонимаю что непонятного в моем первом посте!

Попробую обьяснить еще раз!

Вобщем у меня делается 3 запроса,

1
это result который проверяет существование записи за чегодняшний день в тавлице
и если записи нет, то добавляем ее

а потом делаем запрос данный за сегодняшний день

я хочу объединить эти запросы, и делать в 1 запрос
(Добавление)
Ребят ну помогите пожалуйста!!!! ))


SELECT * FROM parse_work @ТУТ как бы код проверки существования записи и если она не найдена деалется добавление@ WHERE DATE(`register`)=CURRENT_DATE
То есть запрос полюбому вернет данные
Designer Отправлено: 12 Июля, 2014 - 16:58:03 • Тема: Помогите составить запрос, или вообще возможноли это сделать • Форум: SQL и Архитектура БД

Ответов: 8
Просмотров: 78
возможно ли 1 запросом сделать проверку затем добавление и после добавления получение тех данных которые долбавились?!

проверка
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. SELECT COUNT(*) FROM parse_work WHERE DATE(`register`)=CURRENT_DATE
  3.  


добавление
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. INSERT INTO parse_work SET `register`=NOW()
  3.  


получение
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. SELECT * FROM parse_work WHERE DATE(`register`)=CURRENT_DATE
  3.  

(Добавление)
Примерно понимаю что это связано с IF NOT () но как даже не представляю
Designer Отправлено: 27 Июня, 2014 - 23:29:42 • Тема: Как реализовать общее хранилище объектов классов • Форум: Объектно-ориентированное программирование

Ответов: 12
Просмотров: 3025
Цитата:
а зачем обьекту database или debugger знать о роутере или router о template ?

Я понимаю конечно к чему вы клоните! тут не в этом суть, поймите! Все эти классы, они все равно обязаны быть подключены в начале выполнения, понимаете?! и использование того или иного класса само собой будет происходить по назначению в соответствующих местах!
А то что вы пишите зачем классу БД знать о роутере или шаблоне, на это могу ответить обратное, а что мешает вызвать класс роутера допустим в методе класса работы с БД?! само собой ничего, но ведь все должно быть на своих местах, верно?! так вот и пользоваться необходимым классом в нужном месте, в данной системе можно будет без необходимости создания нового экземпляра, потому как повторюсь они один фиг создаются в самом начале при инициализации системы(потому как идет разбор url затем проверка существования файла контроллера наличие в нем класса и т.д.)
Designer Отправлено: 27 Июня, 2014 - 22:52:47 • Тема: Как реализовать общее хранилище объектов классов • Форум: Объектно-ориентированное программирование

Ответов: 12
Просмотров: 3025
teddy, да да, упустил описать этот момент, я о нем конечно же знаю и прочитал в вашем сообщении, но даже если я буду его использовать, ситуацию автолоад не изменит!
Designer Отправлено: 27 Июня, 2014 - 22:25:29 • Тема: Как реализовать общее хранилище объектов классов • Форум: Объектно-ориентированное программирование

Ответов: 12
Просмотров: 3025
DelphinPRO, спасибо конечно за предоставленный код, но это уже реализовано!
Вобщем попробую еще раз объяснить.

Есть класс загрузчик системы, он внутри себя подключает 6 файлов в цикле и в этом же цикле создает их объекты то есть
PHP:
скопировать код в буфер обмена
  1.  
  2. $Libraries = Array(
  3.     'Benchmark',
  4.     'Registry',
  5.     'Debugging',
  6.     'Functions',
  7.     'Validation',
  8.     'Router',
  9.     'Database',
  10.     'Extension',
  11.     'Template'
  12. );
  13.  
  14. ForEach( $Library  as  $Class ) {
  15.     FileInclude( DirName( __FILE__ ) . '/library/' . $Class . '.php' );
  16.     $Objects[$Class] = new $Class();
  17. }
  18.  


Так вот тут и начинается проблема, они внутри не знают друг о друге! И я не могу понять как реализовать систему единого массива со всеми объектами этих классов таким образом что бы внутри них можно было друг другом пользоваться, я конечно делал инкапсуляцию последовательную, но этот тип реализации не совсем хорошо!
(Добавление)
teddy, по поводу второго пункта, почему неоправданная зависимость?
допустим в каждом классе можно использовать для отладки методы класса Benchmark ( то есть подсчет времени выполнения того или иного метода) а так же Debugging ( для записи логов)

И что происходит далее если конечно реализую такую систему, при подключении контроллера, он как бы наследуется и получает доступ в этому самому массиву с объектами
и внутри контроллера я уже вызываю нужное мне расширение(иными словами модель что было понятно) а так же проверяю данные url строки по ключу из объекта Router и так далее, плюс объект класса Extension, внутри себя имеется метод подгрузки и создания расширения ( и при написании кода расширения в файле, я само собой буду имень доступ к БД или Registry, то есть по необходимости можно будет воспользоваться любым классом, вместо того что бы их постоянно создавать) , я пытаю сделать систему что бы подключить базовые классы, создать их объекты запомнить их с 1 хранилище и получать доступ по аналогии привиденной в 1 посте
(Добавление)
Вот такая вот замудренная система!
(Добавление)
Я не скажу что возможно это правильный подход в построении, но на данный момент(да и вообще для практики) хотелось бы попробовать такое реализовать! 1 единственный момент на данном этапе не позволяет реализовать это, он описан в 3 посте!
(Добавление)
Ребят если есть у кого немного времени свободного хотя бы минут 15-20, оставьте свой скайп в ЛС, хотелось бы с обьяснить ситуацию во первых словами, а во вторых выслушать мнение и возможность реализации от более профессионального человека! Если конечно не трудно
Designer Отправлено: 27 Июня, 2014 - 22:15:15 • Тема: Как реализовать общее хранилище объектов классов • Форум: Объектно-ориентированное программирование

Ответов: 12
Просмотров: 3025
caballero, приветствую! Я очень хорошо понимаю разницу между массивом и объектом! Тут не в этом суть! Суть в том что хотелось бы иметь во всей системе одну древовидную структуру!
Если быть еще точнее, вот конкретно что именно не получается реализовать, это то, что бы классы которые подключаются и создаются в цикле знали о существовании друг друга! последовательное наследование это тоже не то что нужно!
Designer Отправлено: 27 Июня, 2014 - 20:21:31 • Тема: Как реализовать общее хранилище объектов классов • Форум: Объектно-ориентированное программирование

Ответов: 12
Просмотров: 3025
Всем здрасьте!
Вобщем суть заключается в следующем, на входе имеется класс который принимает некоторый массив с параметрами, проверяет их, и производит цикличное подключение и создание нескольких объектов классов(6 штук), записывая созданные объекты в общий массив с соответствующими именами! Некоторые из этих классов могут использовать методы друг друга(к примеру есть класс логирования и класс расширений, так вот класс расширений использует методы из класса логирования)
Так вот как можно реализовать данную систему что бы структура доступа к массиву с объектами сохранялась и была доступна из каждого объекта класса

Вот примерно такая
$this->Objects - общий массив с объектами классов
$this->Objects->Debugging
$this->Objects->Extension
$this->Objects->Registry
и т.д. ( в примере привел вызов классов как свойство объекта, по той причине что хочу преобразовать массив в object)

По сути понимаю общую картину, должно получиться что то типо глобального супер класса в котором будет храниться все!
Попробовал систему наследований, ничего не вышло(возможно что то неправильно делал), инкапсуляция не подходит, хотелось вы собрать 6 колесный велосипед по аналогии системы наследования, таким образом что бы в дальнейшем после запуска системы, в каждом классе был доступ к любому них!

Что можете подсказать по этому поводу?
(Добавление)
И еще хотелось бы добавить про то почему именно что типо наследования, дело в том что классы как я уже писал выше подключаются и создаются на автомате!
Я просто пытаюсь написать что то типо микро фреймворка(просто набираюсь опыта) и хочу добится такой структуры с системе, что бы не нужно было вызывать в каждом классе к примеру класс синглтон в котором будет находится этот массив с объектами, а что бы все происходило на автомате, то есть к примеру если взять определенный контроллер и унаследовать его от вот этого самого глобального супер класса то внутри контроллера можно будет использовать те самые объекты классов о которых я писал выше
Designer Отправлено: 15 Июня, 2014 - 02:00:34 • Тема: ООП наследование или как получить данные в классе наследнике • Форум: HTTP и PHP

Ответов: 5
Просмотров: 1474
Это я понимаю(знаю) просто, скоколько слышал и читал про наследование, все никак не мог до конца понять как это работает, производил тесты, и все равно не понял, потому как не правильно писал код! В принципе вы мне открыли глаза на ситуацию,но ...

хотелось бы еще узнать, как можно дописать(добавить) в объект еще 1 объект, как это делается с массивами!

суть заключается в следующем

При первом посещении подключаются файлы и создаются объекты классов, далее они записываются в сессию путем $_SESSION['memory-cache'] = (object)$Global; , где глобал в свое время это массив с объектами(как я писал про $self в первом посте) так вот как к уже готовому объекту $_SESSION['memory-cache'] добавить еще один??
(Добавление)
Да и что такое __PHP_Incomplete_Class
Designer Отправлено: 15 Июня, 2014 - 01:19:40 • Тема: ООП наследование или как получить данные в классе наследнике • Форум: HTTP и PHP

Ответов: 5
Просмотров: 1474
Почему отдельно созданного объекта?! Разве свойства записываемые из метода Project не попадают в весь объект Controller ?? при просмотре ссылки $this в методе Initialize перед вызовом класса index , все пучком, все видно все присутствует!
(Добавление)
А, стоп, приметно понял! нужно вызывать сам дочерний класс а не предка! Верно?
Designer Отправлено: 15 Июня, 2014 - 00:50:17 • Тема: ООП наследование или как получить данные в классе наследнике • Форум: HTTP и PHP

Ответов: 5
Просмотров: 1474
Всем привет, не могу никак толком разобраться(понять) как работает система наследования в ООП(если быть точнее, то возможно я понимаю, но то что я хочу реализовать, у меня не получается)

Вобщем код примерно такой!

PHP:
скопировать код в буфер обмена
  1.  
  2. // index.php - лежит гдето в папке
  3.  
  4. Class index extends Controller
  5. {
  6.  
  7.     Public Function init()
  8.     {
  9.         // тут хоть var_dump() хоть что, он конечно выдает информацию о index
  10.         // но в нем не присутствует информация о свойствах и методах предка
  11.         Return $this;
  12.     }
  13.  
  14. }
  15.  
  16. ////////
  17.  
  18. Class Controller
  19. {
  20.  
  21.     Public Function __construct() {}
  22.  
  23.     /**
  24.     * $self - переменная массив, в которой хранятся объекты классов
  25.     */
  26.     Public Function Project( $self )
  27.     {
  28.         ForEach( $self  as  $Key => $Value )
  29.             $this->{$Key} = $Value; // свойства класса создаются на автомате
  30.     }
  31.  
  32.     /**
  33.     * вызываем дочерний класс который наследуется от этого
  34.     * и метод init() который должен выдать информацию по ссылке объекта
  35.     */
  36.     Public Function Initialize()
  37.     {
  38.  
  39.         include_once('index.php');
  40.  
  41.         $Index = new index();
  42.  
  43.         If( $Response = $Index->init() )
  44.             Return  $Response;
  45.     }
  46.  
  47. }
  48.  
  49. // new functions() и new registry() для понимания содержания $self
  50. $self = Array(
  51. 'functions' => new functions(),
  52. 'registry'  => new registry()
  53. );
  54.  
  55. // Вызываем класс Controller
  56. $Controller = new Controller;
  57. $Controller->Project($self);
  58.  
  59. var_dump( $Controller->Initialize() );
  60.  

(Добавление)
Прошу помощи, а то, от чтения инфы, ситуация не меняется, перепробовал многое!

Я так понимаю наследование это не передача информации записанной предположим в свойства предка, дочерний класс наследует только структуру, а не данные. Верно? Я правильно понимаю? если да, то в таком случае как можно реализовать то что я описал выше(инкапсуляция не подходит, потому как хочу что бы на дочернем классе все работало на автомате)
Designer Отправлено: 06 Июня, 2014 - 21:25:19 • Тема: Загрузка файла файла на сервер по URL ссылке • Форум: Работа с сетью

Ответов: 14
Просмотров: 4318
Не стал создавать новую тему, напишу тут!

Проблема заключается в следующем, при загрузке файла по фтп функцией ftp_put()
скрипт выкидывает ошибку такого рода Warning: ftp_put(): Filename invalid
погуглив и пояндексив, я понял что это предупреждение выскакивает из за некоректно указанного пути, данные все проверил, все гуд (как бы), закинул скрипт на хостинг там работает(я так понял потому что линукс) а у меня локалка на винде!

Вот и подобрался к вопросу, как исправить это? подскажите пожалуйста

(Добавление)
Блин, уже исправил, я в принципе знал что если что то не работает, значит однозначно я допустил ошибку ))
Designer Отправлено: 21 Мая, 2014 - 17:12:45 • Тема: Резиновые блоки с обтеканием в зависимости от ширины экрана • Форум: HTML, Дизайн & CSS

Ответов: 2
Просмотров: 931
Спасибо большое, только пришлось убрать :after весь, из за него блоки не выстраивались как нужно
Designer Отправлено: 21 Мая, 2014 - 15:36:58 • Тема: Резиновые блоки с обтеканием в зависимости от ширины экрана • Форум: HTML, Дизайн & CSS

Ответов: 2
Просмотров: 931
Здравствуйте!
Необходимо разместить резиновые блоки по горизонтали с обтеканием в зависимости от ширины браузера, но таким образом что бы количество блоков в строке было не более 2х, при минимальной ширине каждого в 335px, и растягивались они до одинаковой ширины
Пробовал float, но в таком случае блоки не растягиваются(это по-моему единственная проблема из за которой я прошу помощи)
Designer Отправлено: 15 Мая, 2014 - 13:45:04 • Тема: SQL запрос(вывод статистики) • Форум: SQL и Архитектура БД

Ответов: 5
Просмотров: 42
Я проверил только что, не подходит!

2 =>
array (size=4)
'type' => string '1' (length=1)
'STATUS' => string '0' (length=1)
'day' => string '2014-05-15' (length=10)
'reg_count' => string '30' (length=2)
3 =>
array (size=4)
'type' => string '1' (length=1)
'STATUS' => string '1' (length=1)
'day' => string '2014-05-15' (length=10)
'reg_count' => string '1' (length=1)


как сделать что бы массив состоял из количества разных дат!
к примеру

0 =>
array (size=4)
'day' => string '2014-05-13' (length=10)
'type_0_status_0' => string '2' (length=1)
'type_0_status_1' => string '12' (length=1)
'type_1_status_0' => string '5' (length=1)
'type_1_status_1' => string '15' (length=1)
1 =>
array (size=4)
'day' => string '2014-05-14' (length=10)
'type_0_status_0' => string '2' (length=1)
'type_0_status_1' => string '12' (length=1)
'type_1_status_0' => string '5' (length=1)
'type_1_status_1' => string '15' (length=1)
2 =>
array (size=4)
'day' => string '2014-05-15' (length=10)
'type_0_status_0' => string '2' (length=1)
'type_0_status_1' => string '12' (length=1)
'type_1_status_0' => string '5' (length=1)
'type_1_status_1' => string '15' (length=1)
и так далее

Я понимаю что запрос не выведет в виде вложенных массив
строки type_0 и status_0
ну хотя бы так, через цикл можно будет легко обработать!

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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB