Как переместить стартер из панели запуска в окно «Настройки системы»?

Я бы упростил то, что вы пытаетесь сделать, создав хранимая процедура, которая создаст статистику лидера / агента, а затем просто вызовет ее из вашего php (одного вызова) следующим образом:

полный скрипт здесь: http://pastie.org/1451802

, альтернативно, вы могли бы объединить ваши отдельные запросы в один оператор select / group by.

см. здесь: http://pastie.org/1451842

select
 leaders.agent_name, 
 sum(leaders.job_value) as sum_job_value, 
 sum(leaders.points_value) as sum_points_value 
from
(
select 
 agent_name, 
 job_number, 
 job_value, 
 points_value 
from 
 jobs 
where 
 year(booked_date) = 2011 and weekofyear(booked_date) = 2
union all
select distinct
 agent_name,
 0,0,0
from
 apps
where 
 year(booked_date) = 2011 and weekofyear(booked_date) = 2
) leaders
group by
 agent_name 
order by sum_points_value desc;

Сохраненная процедура

drop procedure if exists list_leaders;

delimiter #
create procedure list_leaders
(
in p_year smallint unsigned,
in p_week tinyint unsigned
)
begin

  create temporary table tmp_leaders(
    agent_name varchar(20) not null,
    job_number int unsigned not null default 0, -- note the default values
    job_value decimal(3,1) not null default 0,
    points_value decimal(8,2) not null default 0
  )engine=memory;

  insert into tmp_leaders (agent_name, job_number, job_value, points_value) 
    select agent_name, job_number, job_value, points_value from jobs 
    where year(booked_date) = p_year and weekofyear(booked_date) = p_week;

  insert into tmp_leaders (agent_name) -- requires default values otherwise you will get nulls
    select distinct agent_name from apps
    where year(booked_date) = p_year and weekofyear(booked_date) = p_week;

  select 
    agent_name, 
    sum(job_value) as sum_job_value, 
    sum(points_value) as sum_points_value 
   from
    tmp_leaders
   group by
    agent_name order by sum_points_value desc;

  drop temporary table if exists tmp_leaders;

end#

delimiter ;

call list_leaders(year(curdate()), weekofyear(curdate()));

PHP-скрипт

connect_errno) 
        throw new exception(sprintf("Could not connect: %s", $db->connect_error));

    $sqlCmd = "call list_leaders(2011, 2)";
    $result = $db->query($sqlCmd);

    if(!$result) throw new exception(sprintf("Invalid query : %s", $sqlCmd));

    if($db->affected_rows <= 0){
        echo "no leaders found !";
    }
    else{
        $leaders = $result->fetch_all(MYSQLI_ASSOC);
        foreach($leaders as $ldr){
            // do stuff
            echo $ldr["agent_name"], "
"; } } } catch(exception $ex) { ob_clean(); echo sprintf("zomg borked - %s", $ex->getMessage()); } if(!$db->connect_errno) $db->close(); ob_end_flush(); ?>

Теперь попробуй проще - надеюсь, что это поможет:)

3
задан Jakob 8 May 2012 в 08:48
поделиться

1 ответ

Добавляют начинающего к "Параметрам настройки системы":

Нажатие Высокий звук + F2 и выполненный gksu gedit /usr/share/applications/computer-janitor-gtk.desktop, введите свой пароль root при выяснении.

Добавляют X-GNOME-Settings-Panel;X-GNOME-SystemSettings; к строке "Categories=System;Настройки; PackageManager; GTK";.

Добавляют новую строку X-GNOME-Settings-Panel=computer-janitor-gtk в конец файла, сохраняют и закрываются.

Удаляют значок из Средства запуска через, щелкают правой кнопкой по в †’ Remove from Launcher.

И Вы добираетесь:

system settings

<час>

Средства запуска приложений хранятся в ~/.local/share/applications или в/usr/share/applications/(чтобы отредактировать Вас, должны открыться gksu nautilus - но не портят Вашу систему!).Примечание: Когда приложение becames обновленный, часто .desktop файл becames обновленный, также (в/usr/..., не в ~/.local/...)

[еще 1115] информация о Средствах запуска Вы находите в Общественном Wiki Справки.

6
ответ дан Jakob 22 October 2019 в 14:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: