Tabel Class

Door Joris van Rijn, 17 jaar geleden, 5.631x bekeken

Met deze class kan je heel simpel een tabel aanmaken. De class rekent zelf het aantal rijen en kolommen uit. Als er in een rij meer kolommen staan dan in een andere word de rij met de minder kolommen automatisch aangevuld.

Gebruik:
Eerst kan je de headers zetten, dus de <th>'s van de tabel. Dit is niet verplicht.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
->setHead('Col 1','Col 2','Col 3');


Daarna moet jij rijen toevoegen, dus de <td>'s van de tabel. Dit is wel verplicht.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
->addRow('Rij 1, Col 1','Rij 1, Col 2');


Hier beneden staat ook nog een voorbeeld.

Handige extra: De output tabel wordt netjes met tabs en enters weergegeven.

Edit:
- Inplaats van telkens een array opgeven kun je nu gewoon argumenten op geven.
- Geleerd dat er geen echo's in een array horen :'] Ze eruit gehaald.

Voorbeeld: http://phphulp.freedomdesigns.nl/tabel/

Gesponsorde koppelingen

PHP script bestanden

  1. tabel-class

 

Er zijn 13 reacties op 'Tabel class'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Steen
steen
17 jaar geleden
 
0 +1 -0 -1
Je moet nu steeds een array ingeven, je kunt dat net zo goed direct als argumenten neerzetten (func_get_args())

En styles en colspan bijvoorbeeld?
Joris van Rijn
Joris van Rijn
17 jaar geleden
 
0 +1 -0 -1
Ik heb func_get_args() veranderd.
Thnx.
En ik heb met een reden geen styles gedaan: ik het simpel wilde houden, want mijn tabel wordt toch gestyled door een externe css.

Colspans/Rowspan is nog wel een goed idee om later te doen.
Rob
Rob
17 jaar geleden
 
0 +1 -0 -1
anders moet je proberen die colspans en rowspans automatisch te laten verschijnen? leuke uitdaging :)
Joris van Rijn
Joris van Rijn
17 jaar geleden
 
0 +1 -0 -1
Staat gepland :']
Banaan test
banaan test
17 jaar geleden
 
0 +1 -0 -1
Een echo in je class? Afgeschreven ;-)
Joris van Rijn
Joris van Rijn
17 jaar geleden
 
0 +1 -0 -1
Hoezo dan? Wat zijn de voordelen :P
Dan verander ik het wel ff..
TJVB tvb
TJVB tvb
17 jaar geleden
 
0 +1 -0 -1
een class is bedoelt om te kunnen hergebruiken. Je zou het i.p.v. echoën ook in een variabele kunnen zetten die je dan returnd.
Dan krijg je echo $tabel->display(); wat een stuk netter is.
Dan kun je ook bijvoorbeeld de output opslaan. (voor caching,mailen e.t.c.)
Joris van Rijn
Joris van Rijn
17 jaar geleden
 
0 +1 -0 -1
Dat was ik van plan te doen :']
Maar eerst wilde ik weten wat zegmaar het voordeel was.
En dat is hergebruiken begrijp ik?
Aaa Trump
aaa Trump
17 jaar geleden
 
0 +1 -0 -1
Best netjes, alleen zou ik het returnen en niet echoe ;)
Joris van Rijn
Joris van Rijn
17 jaar geleden
 
0 +1 -0 -1
Gedaan :']
Martijn Wieringa
Martijn Wieringa
17 jaar geleden
 
0 +1 -0 -1
Goed idee, enkele suggesties:

Syntax
- Gebruik enkele quotes voor PHP.
- Gebruik constanten voor TAB/CR/LF

-------------------

- Maak parameters optioneel in de <tabel ...> tag optioneel, en zorg dat je deze d.m.v. functies kunt uitbreiden:

Bijv:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

$return
.= '<table' . (empty(this->id) ? '' : ' id="' . $this->id . '"') . '>';

?>


Het zelfde geld voor overige (veel gebruikte) attributen als border, cellpadding, cellspacing, style en class.

-----------------------

Wat veel voor komt is dat je rijen om-en-om wilt stijlen met een andere achtergrond om zo de regels te beter van elkaar te onderscheiden. Kun je een variabele inbouwen waarmee je kunt aangeven welke stijlen/classes je per rij wilt toepassen.

Bijv.

$oTable->setRowClasses('odd', 'even');

of

$oTable->setRowClasses('rij1', 'rij2', 'rij3');

Zodat het script elke 1e rij de class 'rij1' meegeeft; elke 2e rij de class 'rij2', etc.

---------------------------------

Mogelijk is het wenselijk dat je per kolom kunt aangeven hoe de waarde 'geparsed' moet worden als het tussen de HTML code wordt geplakt. Bijv. wel/geen htmlentities. Urls/emailadressen moeten mogelijk een link worden. Datum/tijd moeten correct geformatteerd worden (Indien rechtstreeks uit de database); etc.
Joris van Rijn
Joris van Rijn
17 jaar geleden
 
0 +1 -0 -1
Dat gaat allemaal in een v2 komen :']
Bedankt voor het meedenken.
Er is dus blijkbaar behoefte aan!

En, wat bedoel je precies met TAB/CR/LF?

Edit: Niet alles hierboven, maar wel een groot deel, komt erin.
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Steen
steen
17 jaar geleden
 
0 +1 -0 -1
Voorbeeld ook even updaten tussendoor

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. tabel-class

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

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.