Einzelnen Beitrag anzeigen
Alt 14.03.10, 14:24   #13 (permalink)
reaLInsanity
Themenstarter
 
Benutzerbild von reaLInsanity
 
Registriert seit: 10.01.06
reaLInsanity Leistung: Facit NTK
reaLInsanity eine Nachricht über ICQ schicken reaLInsanity eine Nachricht über AIM schicken reaLInsanity eine Nachricht über Yahoo! schicken
Likes: 0
Standard

"Moin"!
danke erstmal für deine schnelle Hilfe!
Hab mir nun die ID der einzelnen RRPs mit in das Array aufgenommen und nun deine Klasse versucht ein wenig abzuändern.

Habe in die getHTML-Methode HTMLTableColumns-Klasse den Paramter $id angefügt, als Eigenschaft bereitgestellt und übergebe diesen auch.

Nur ich fürchte ich habe irgendetwas nicht in deiner Klasse bedacht.
Hier die HTMLTableColumns:

PHP-Code:
class HTMLTableColumn {

    private 
$value null;
    private 
$rowspan null;
    private 
$id null;

    public function  
__construct($value$rowspan 0$id) {
        
$this->value $value;
        
$this->rowspan $rowspan;
        
$this->id $id;
        
    }

    public function 
getHTML() {
        
$output.= '<td';
        if (
$this->rowspan 0) {
            
$output.= ' rowspan="' $this->rowspan '"';
        }
        
$output.= ' align="center">';
        if(
$this->value == "true"){
            
$ret "<img id='".$this->id."' src='images/icons/accept.png'>";
        }elseif(
$this->value == "false"){
            
$ret "<img id='".$this->id."' src='images/icons/delete.png'>";
        }else{
            
$ret $this->value;
        }
        return 
$output $ret '</td>';
    }

Die Aufbereitung des Arrays:
PHP-Code:
$permissions Model::getDataset($role_id"GetPermissions"true"FK_Role_ID"true);
                
$arr = array();
                foreach(
$permissions as $permission){
                    
$arr[$permission['Description']][$permission['Ressource']] = array('ID' => $permission['rrpID'], $permission['Property'] => $permission['allow']);
                } 
Und die Verarbeitung des Arrays:
PHP-Code:
$table = new HTMLTable();
                foreach (
$arr as $key => $value) {
                    
$row = new HTMLTableRow();
                    
$rowspan sizeof($value);
                    
$col1 = new HTMLTableColumn($key$rowspan);
                    
$row->addColumn($col1);
                    
$cntCols sizeof($value);
                    
$colKey array_keys($value);
                    for (
$i 0$i 1$i++) {
                        
$col = new HTMLTableColumn($colKey[$i]);
                        
                        
$row->addColumn($col);
                        foreach (
$value[$colKey[$i]] as $colValue) {
                            
$col = new HTMLTableColumn($colValue,0$value[$colKey[$i]]['ID']);
                            
$row->addColumn($col);
                        }
                    }
                    
$table->addRow($key$row);
                    
$headerData = array();
                    
$headerData['role'] = 'Rolle';
                    
$headerData['resource'] = 'Ressource';
                    for (
$i 1$i $cntCols$i++) {
                        
$row1 = new HTMLTableRow();
                        
$col = new HTMLTableColumn($colKey[$i]);
                        
$row1->addColumn($col);
                        foreach (
$value[$colKey[$i]] as $permKey => $colValue) {
                            
$headerData[$permKey] = $permKey;
                            
$col = new HTMLTableColumn($colValue);
                            
$row1->addColumn($col);
                        }
                        
$table->addRow($key $i$row1);
                    }
                }
                
$header = new HTMLHeader($headerData);
                
$table->addHeader($header);
                    
                
$view->assign('Array',$arr);
                
$view->assign('Table'$table); 
Eventuell siehst du dort noch einen Fehler, der dort ganz gewiss irgendwo schlummert.

Achja btw. meine Ausgabe sieht wie folgt aus (falls es dir etwas helfen sollte):


Geändert von reaLInsanity (14.03.10 um 14:29 Uhr)
reaLInsanity ist offline   Mit Zitat antworten
 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61