Datagrid Class

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Dennis Sluijk

Dennis Sluijk

06/07/2011 17:31:49
Quote Anchor link
Ik heb een Datagrid class gemaakt wilt iemand mij zeggen of dit een goede denkwijze(OOP) is.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<?php

    class Datagrid
    {
        private $kollomen;
        
        public $data;
    
        public function __construct() {
            $this->kollomen = array();
            $this->data = array();
        }

        
        public function addColumn(Kolom $object) {
            
            $this->kollomen[$object->key] = $object;
        }

        
        public function fetch() {
            ob_start();
            
            echo "<table>";
            /*
            ***FETCH HEADERS
            */

            echo "<tr>";
                foreach($this->kollomen as $key => $value)
                {

                    echo "<td>" . $this->kollomen[$key]->title . "</td>";
                }

            /*
            ***FETCH DATA
            */
                
            echo "</tr>";
                for($i = 0; $i < count($this->data); $i++)
                {

                    echo "<tr>";
                    foreach($this->kollomen as $key => $value)
                    {

                        echo "<td>" . $this->data[$i][$key] . "</td>";
                    }

                    echo "<tr>";
                }

            
            echo "</table>";    
            
            $contents = ob_get_contents();;
                
            ob_end_clean();
            
            return $contents;
        }
    
    }

    
    class Kolom
    {
        public $width;
        
        public $title;
        
        public $key;
        
    }


include("Database.class.php");
    
    
Database::Connect("localhost","root","","mvc");
$records = Database::GetRecords("SELECT * FROM content");

$datagrid = new Datagrid();
$datagrid->data = $records;

    $kolom1 = new Kolom();
    $kolom1->title = "Titel";
    $kolom1->width = 20;
    $kolom1->key = 'title';
    
    $kolom2 = new Kolom();
    $kolom2->title = "Content";
    $kolom2->width = 20;
    $kolom2->key = 'content';


$datagrid->addColumn($kolom1);
$datagrid->addColumn($kolom2);
echo $datagrid->fetch();

?>
 
PHP hulp

PHP hulp

17/01/2022 03:11:40
 
Kees Schepers

kees Schepers

06/07/2011 18:51:27
Quote Anchor link
Is een leuk begin, in iedergeval redelijk goede denkwijze. Ik zou alleen geen output buffering gebruiken maar alles in een variabele stoppen.

Verder heb je ook projecten in Ext.js of JQuery Grid wat javascript is.

Ik zelf heb ook een (open source) project als deze misschien leuk om daar eens naar te kijken: http://code.google.com/p/dynagrid/ of zelfs mee te helpen!

Toevoeging op 06/07/2011 18:51:28:

Is een leuk begin, in iedergeval redelijk goede denkwijze. Ik zou alleen geen output buffering gebruiken maar alles in een variabele stoppen.

Verder heb je ook projecten in Ext.js of JQuery Grid wat javascript is.

Ik zelf heb ook een (open source) project als deze misschien leuk om daar eens naar te kijken: http://code.google.com/p/dynagrid/ of zelfs mee te helpen!
 
Dennis Sluijk

Dennis Sluijk

06/07/2011 19:02:37
Quote Anchor link
Dankjewel voor de comment! :D

Toevoeging op 06/07/2011 19:45:06:

Coel jouw Grid is het heel erg uitgebreid :P Ik heb nu toevegoegd dat je een index kolumn kan toevoegen, checkboxen wel of niet en een link kan toevoegen
 
Kees Schepers

kees Schepers

06/07/2011 21:07:22
Quote Anchor link
Waarom niet krachten bundelen ;-) infolookkees = mijn skype!
 
Dennis Sluijk

Dennis Sluijk

06/07/2011 21:14:49
Quote Anchor link
Ik heb een andere post gezien van jouw van htmlElementen het is wel een goed idee om DOMdocument de tags te maken. Ik heb eerder nog nooit gehoord van DOMdocument maar dat is wel mega handig voor html en XML! Ik ben 1 dag op dit forum al zoveel geleerd !:D
 
Kees Schepers

kees Schepers

06/07/2011 21:42:18
Quote Anchor link
Ja klopt domDocument zou een aardige oplossing zijn. Deze code van DynaGrid op Google Project is op sommige stukken al 4/5 jaar oud. Destijds liep ik tegen aardig wat beperkingen aan met de PHP DOM laag. Daarom dus een eigen implementatie gebouwd, maar het zou kunnen dat met de huidige versie van PHP het een stuk beter te doen is!

Echter wil ik denk ik met DynaGrid een andere weg in slaan. Een goede communicatie middel maken tussen data en de uiteindelijk grid in html/css/javascript waarbij voor dat laatste al iets bestaand wordt gebruikt.
 
Dennis Sluijk

Dennis Sluijk

07/07/2011 17:49:09
Quote Anchor link
Hmpf kom erachter dat DOMdocument niet xhtml terug geeft

Toevoeging op 07/07/2011 22:58:39:

al opgelost XD kleine functie gemaakt met str_replace XD
 
Pim -

Pim -

12/07/2011 02:30:50
Quote Anchor link
Nooit zelf XML op gaan maken. Daar hebben we DOM voor :|
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.