Ignore:
Timestamp:
May 18, 2013, 6:51:10 PM (11 years ago)
Author:
chronos
Message:
  • Opraveno: Položky nabídky ve Správě dat se opakovaně všechny načítaly z databáze pro každou skupinu.
  • Opraveno: Nyní funguje také rychlé filtrování tabulek ve Správě dat dle sloupců s typem OneToMany.
  • Upraveno: Optimalizace načítání textových názvů položek typu OneToMany. Dříve se načítaly samostatným SQL dotazem pro každý řádek zvlášť. Nyní se načítají jako jeden SELECT.
  • Přidáno: Modul TimeMeasure pro měření a zobrazování časových grafů veličin.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Common/Form/Types/OneToMany.php

    r531 r536  
    1212    if($Item['Value'] != '')
    1313    {
    14       if(array_key_exists('View', $Type['Parameters'])) $Table = $Type['Parameters']['View'];
     14      /*if(array_key_exists('View', $Type['Parameters'])) $Table = $Type['Parameters']['View'];
    1515        else $Table = $Type['Parameters']['Table'];
    1616      $DbResult = $this->Database->query('SELECT '.$Type['Parameters']['Name'].
    17         ' AS `Name` FROM '.$Table.' WHERE `'.
     17        ' AS `Name` FROM `'.$Table.'` WHERE `'.
    1818        $Type['Parameters']['Id'].'`='.$Item['Value']);
    1919      $DbRow = $DbResult->fetch_assoc();
    2020      $Output = '<a href="?t='.$Type['Parameters']['Table'].'&amp;a='.
    21         'view'.'&amp;i='.$Item['Value'].'">'.$DbRow['Name'].'</a>';
    22     } else $Output = '';
     21        'view'.'&amp;i='.$Item['Value'].'">'.$DbRow['Name'].'</a>';*/
     22      $Output = '<a href="?t='.$Type['Parameters']['Table'].'&amp;a='.
     23        'view'.'&amp;i='.$Item['Value'].'">'.$Item['Filter'].'</a>';
     24    } else $Output = '';   
    2325    return($Output);
    2426  }
     
    6062      else return($Item['Value']);
    6163  }
     64 
     65  function OnFilterName($Item)
     66  {
     67    return('`'.$Item['Name'].'_Filter`');
     68  }
     69   
     70  function OnFilterNameQuery($Item)
     71  {
     72    $Type = $this->FormManager->Type->TypeDefinitionList[$Item['Type']];
     73    //if($Item['Value'] != '')
     74    //{
     75      if(array_key_exists('View', $Type['Parameters'])) $Table = $Type['Parameters']['View'];
     76        else $Table = $Type['Parameters']['Table'];
     77      $Output = '`'.$Item['Name'].'`, (SELECT '.$Type['Parameters']['Name'].
     78        ' AS `Name` FROM `'.$Table.'` WHERE `'.
     79        $Type['Parameters']['Id'].'`=`'.$Item['Name'].'`) AS `'.$Item['Name'].'_Filter`';
     80    //} else $Output = '`'.$Item['Name'].'`, `'.$Item['Name'].'` AS `'.$Item['Name'].'_Filter`';
     81    return($Output);   
     82  }
    6283}
    6384
Note: See TracChangeset for help on using the changeset viewer.