0 Пользователей и 1 Гость просматривают эту тему.
  • 54 Ответов
  • 2199 Просмотров
*

Hishchnik

  • Захожу иногда
  • 253
  • 19 / 1
  • ©
Логика PHP и логика Joomla
« : 12.12.2014, 12:16:54 »
тут я буду собирать свои вопросы
и первый, как упростить запрос?
$project->project_type=='SIMPLE_LEAGUE'

но при запросе
Код: php
if($project->project_type=='SIMPLE_LEAGUE')
{
echo "LEAGUE<br>";
}
if($project->project_type==('TOURNAMENT_MODE' or 'ONE_IN_ONE'))
{
 echo "TOURNAMENT<br>";
}
отображает :
Код
LEAGUE
TOURNAMENT
можно записать как:
Код: php
if($project->project_type=='TOURNAMENT_MODE' or $project->project_type=='ONE_IN_ONE') //Но как упростить запрос?
1. Помог? Благодарность выражается кнопочкой "+" ;)
2. Остановите землю я сойду!
3.
*

Hishchnik

  • Захожу иногда
  • 253
  • 19 / 1
  • ©
1. Помог? Благодарность выражается кнопочкой "+" ;)
2. Остановите землю я сойду!
3.
*

Hishchnik

  • Захожу иногда
  • 253
  • 19 / 1
  • ©
Re: Логика PHP и логика Joomla
« Ответ #3 : 13.12.2014, 19:18:14 »
подскажите пожалуйста, есть ли возможность в одном представлении подключить 2-е представление? J 3
1. Помог? Благодарность выражается кнопочкой "+" ;)
2. Остановите землю я сойду!
3.
*

Taatshi

  • Глобальный модератор
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: Логика PHP и логика Joomla
« Ответ #4 : 13.12.2014, 19:33:55 »
Hishchnik, не нужно собирать все свои вопросы в одну тему. Это усложняет поиск. Создавайте новые.
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Re: Логика PHP и логика Joomla
« Ответ #5 : 13.12.2014, 20:06:23 »
подскажите пожалуйста, есть ли возможность в одном представлении подключить 2-е представление? J 3
Вообще это противоречит логике MVC!
Если вам нужно что бы в разных видах был какой то одинаковый код - используйте помощник вида!
Если вам нужно что бы для одного вида использовать разные отображения - используйте слои для шаблона!
*

Hishchnik

  • Захожу иногда
  • 253
  • 19 / 1
  • ©
Re: Логика PHP и логика Joomla
« Ответ #6 : 14.12.2014, 15:26:00 »
Вообще это противоречит логике MVC!
Если вам нужно что бы в разных видах был какой то одинаковый код - используйте помощник вида!
Если вам нужно что бы для одного вида использовать разные отображения - используйте слои для шаблона!
вопрос снят, нашел вариант на 2.5 попробую адаптировать для 3.0
« Последнее редактирование: 14.12.2014, 16:16:45 от Hishchnik »
1. Помог? Благодарность выражается кнопочкой "+" ;)
2. Остановите землю я сойду!
3.
*

Hishchnik

  • Захожу иногда
  • 253
  • 19 / 1
  • ©
Re: Логика PHP и логика Joomla
« Ответ #7 : 30.12.2014, 00:03:08 »
Подскажите как в цикле вытащить результат?
пример:
массив stdClass:
$res=
Код: php
<pre>
stdClass Object
(
    [pt1] => 5
    [pt2] => 6
)
</pre>
хочу выташить в цикле
Код: php
for($i=1;$i<=2;$i++){
        $adm = $res->pt.$i;
}
не хотит....
неужели придется конвертить в Array массив?
1. Помог? Благодарность выражается кнопочкой "+" ;)
2. Остановите землю я сойду!
3.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Логика PHP и логика Joomla
« Ответ #8 : 30.12.2014, 00:14:57 »
$adm обрабатывается только внутри каждого цикла?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Логика PHP и логика Joomla
« Ответ #9 : 30.12.2014, 00:19:56 »
Код: php-brief
$foo = new stdClass();
$foo->pt1 = 5;
$foo->pt2 = 6;
$profiles = get_object_vars($foo);
var_dump($profiles);
foreach ($profiles as $key => $value) {
echo ' key - ', $key, ' value: ', $value, '<br>';
}
*

voland

  • Легенда
  • 11030
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Логика PHP и логика Joomla
« Ответ #10 : 30.12.2014, 00:20:50 »
неужели придется конвертить в Array массив?
Только я завис на этой фразе?
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Логика PHP и логика Joomla
« Ответ #11 : 30.12.2014, 00:29:01 »
еще можно через spl классы
Код: php-brief
$foo = new stdClass();
$foo->pt1 = 5;
$foo->pt2 = 6;
$arr = new ArrayObject($foo);
var_dump($arr);
foreach ($arr as $key => $value) {
echo ' key - ', $key, ' value: ', $value, '<br>';
}
*

Hishchnik

  • Захожу иногда
  • 253
  • 19 / 1
  • ©
Re: Логика PHP и логика Joomla
« Ответ #12 : 30.12.2014, 00:29:52 »
Код: php-brief
$foo = new stdClass();
$foo->pt1 = 5;
$foo->pt2 = 6;
$profiles = get_object_vars($foo);
var_dump($profiles);
foreach ($profiles as $key => $value) {
echo ' key - ', $key, ' value: ', $value, '<br>';
}

foreach не подойдет, так как это только малая толика массива,
$foo->id
$foo->pt1
$foo->pt2
$foo->pid
$foo->tid
$foo->time
нужны только pt1 и pt2
1. Помог? Благодарность выражается кнопочкой "+" ;)
2. Остановите землю я сойду!
3.
*

Hishchnik

  • Захожу иногда
  • 253
  • 19 / 1
  • ©
Re: Логика PHP и логика Joomla
« Ответ #13 : 30.12.2014, 00:32:16 »
$adm обрабатывается только внутри каждого цикла?
да
1. Помог? Благодарность выражается кнопочкой "+" ;)
2. Остановите землю я сойду!
3.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Логика PHP и логика Joomla
« Ответ #14 : 30.12.2014, 00:33:20 »
а что мешает напрямую обращаться
Код: php-brief
echo $foo->pt1;
echo $foo->pt2;
вы же в цикле перезаписываете значение $adm
зачем
*

capricorn

  • Завсегдатай
  • 1949
  • 118 / 3
Re: Логика PHP и логика Joomla
« Ответ #15 : 30.12.2014, 00:33:52 »
Цитировать
Только я завис на этой фразе?

Нет. Человека надо направить на путь истинный, к силам добра.

Цитировать
var_dump

Это ужасно видеть от профессионального веб-разраба такие советы. Ну неужели нет IDE? Или не надо знать php?
« Последнее редактирование: 30.12.2014, 00:40:07 от capricorn »
*

Hishchnik

  • Захожу иногда
  • 253
  • 19 / 1
  • ©
Re: Логика PHP и логика Joomla
« Ответ #16 : 30.12.2014, 00:35:24 »
а что мешает напрямую обращаться
Код: php-brief
echo $foo->pt1;
echo $foo->pt2;
происходит запрос в базу на выборку данных по id=$foo->pt. $i

for ($i=1;$i<=2;$i++) {
        echo "adm:<pre>".print_r($model->getAdmin($foo->pt.$i),true)."</pre>";
}
да, как вариант использовать get_object_vars во временную переменную, массив должен в стд остаться
« Последнее редактирование: 30.12.2014, 00:39:27 от Hishchnik »
1. Помог? Благодарность выражается кнопочкой "+" ;)
2. Остановите землю я сойду!
3.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Логика PHP и логика Joomla
« Ответ #17 : 30.12.2014, 00:37:57 »
происходит запрос в базу на выборку данных по id=$foo->pt. $i
? Вы что-то не договаривали.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Hishchnik

  • Захожу иногда
  • 253
  • 19 / 1
  • ©
Re: Логика PHP и логика Joomla
« Ответ #18 : 30.12.2014, 00:41:40 »
? Вы что-то не договаривали.
а смысл договаривать? если то, в чем заключается загвоздка, я сказал, в цикле по for сделать запросы(нужны данные pt1 и pt2) = вытащить из массива в цикле данные(нужны pt1 и pt2) что одно и тоже  ;)
1. Помог? Благодарность выражается кнопочкой "+" ;)
2. Остановите землю я сойду!
3.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Логика PHP и логика Joomla
« Ответ #19 : 30.12.2014, 00:43:23 »
 запрос в базу  в цикле это очень плохо
используйте IN в запросе
Код: php-brief
$foo = new stdClass();
$foo->pt1 = 5;
$foo->pt2 = 6;
$arr = get_object_vars($foo);

$search = implode(',', $arr); //string '5,6'
*

capricorn

  • Завсегдатай
  • 1949
  • 118 / 3
Re: Логика PHP и логика Joomla
« Ответ #20 : 30.12.2014, 00:44:49 »
Цитировать
происходит запрос в базу на выборку данных по id=$foo->pt.

ясно. "я сам не знаю чего хочу".
*

Hishchnik

  • Захожу иногда
  • 253
  • 19 / 1
  • ©
Re: Логика PHP и логика Joomla
« Ответ #21 : 30.12.2014, 00:45:23 »
запрос в базу  в цикле это очень плохо
используйте IN в запросе
Код: php-brief
$foo = new stdClass();
$foo->pt1 = 5;
$foo->pt2 = 6;
$arr = get_object_vars($foo);

$search = implode(',', $arr); //string '5,6'
а как потом не ошибиться в результате, чтоб admin1 относился к pt1
а admin2 к pt2
?
1. Помог? Благодарность выражается кнопочкой "+" ;)
2. Остановите землю я сойду!
3.
*

voland

  • Легенда
  • 11030
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Логика PHP и логика Joomla
« Ответ #22 : 30.12.2014, 00:45:37 »
вместо
Код
$adm = $res->pt.$i;
можно
Код
$pt='pt'.$i
$adm = $res->$pt;
Так как PHP - говн.. нетипизированный то должно прокатить )
Но это гов..кодинг
*

Hishchnik

  • Захожу иногда
  • 253
  • 19 / 1
  • ©
Re: Логика PHP и логика Joomla
« Ответ #23 : 30.12.2014, 00:45:49 »
ясно. "я сам не знаю чего хочу".
:'(
1. Помог? Благодарность выражается кнопочкой "+" ;)
2. Остановите землю я сойду!
3.
*

capricorn

  • Завсегдатай
  • 1949
  • 118 / 3
Re: Логика PHP и логика Joomla
« Ответ #24 : 30.12.2014, 00:49:06 »
Цитировать
запрос в базу  в цикле это очень плохо

какой запрос в базу-то?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Логика PHP и логика Joomla
« Ответ #25 : 30.12.2014, 00:49:36 »
в цикле по for сделать запросы(нужны данные pt1 и pt2) = вытащить из массива в цикле данные(нужны pt1 и pt2) что одно и тоже  ;)
Нет, это не одно и то же. Зачем в каждом цикле делать запросы, если можно одним запросом получить объект(ы)?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

capricorn

  • Завсегдатай
  • 1949
  • 118 / 3
Re: Логика PHP и логика Joomla
« Ответ #26 : 30.12.2014, 00:52:32 »
Цитировать
в цикле по for

одна эта фраза говорит - иди учись php и людям голову не забивай. ;D
*

Hishchnik

  • Захожу иногда
  • 253
  • 19 / 1
  • ©
Re: Логика PHP и логика Joomla
« Ответ #27 : 30.12.2014, 00:54:01 »
одна эта фраза говорит - иди учись php и людям голову не забивай.
а foreach разве не цикл?
1. Помог? Благодарность выражается кнопочкой "+" ;)
2. Остановите землю я сойду!
3.
*

Hishchnik

  • Захожу иногда
  • 253
  • 19 / 1
  • ©
Re: Логика PHP и логика Joomla
« Ответ #28 : 30.12.2014, 00:54:41 »
Код: php
public function getAdmin($tid)
        {
                $query = $this->_db->getQuery( true );
                $query  ->select('admin')
                        ->from('#__sports_project_team')
                        ->where('id='.(int)$tid);
                $this->_db->setQuery($query);
                return $this->_db->loadResult();
        }
1. Помог? Благодарность выражается кнопочкой "+" ;)
2. Остановите землю я сойду!
3.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Логика PHP и логика Joomla
« Ответ #29 : 30.12.2014, 00:57:50 »
И где тут объект?
В общем, получите из базы объект(ы) и работайте с ним(и). Итерация и запрос в БД - не одно и то же.
Не будь паразитом, сделай что-нибудь самостоятельно!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Условия отображения для конкретной группы пользователей Joomla 3.4.x

Автор dmik

Ответов: 15
Просмотров: 2606
Последний ответ 29.05.2020, 22:42:15
от voland
Подключить Joomla Framework в своем файле

Автор kolhoz

Ответов: 1
Просмотров: 1474
Последний ответ 06.12.2017, 17:15:42
от Aleks.Denezh
Переделать запросы к БД под Joomla

Автор Glog

Ответов: 3
Просмотров: 1164
Последний ответ 03.07.2017, 17:53:28
от Glog
Поддержка Joomla в PhpStorm

Автор b2z

Ответов: 51
Просмотров: 10264
Последний ответ 28.12.2016, 23:31:39
от b2z
Joomla search tools

Автор jitendra

Ответов: 2
Просмотров: 1113
Последний ответ 15.12.2016, 17:13:15
от jitendra