Gelişmiş Html Tablo Oluşturma Sınıfı

PHP
62 lines
<?php
class tabloYap {
var $border = "1";
var $genislik = "500";
var $class = "tabledefault";
var $tabloveri = Array();
var $satirlar = 0;
var $ilksatirlartil = "tablehead";
var $hucredoldur = "2";
var $hucrearalik = "0";
var $kenarrengi = "#666666";
function degerAyarla($anahtar, $deger) {
$this->$anahtar = $deger;
}
function ciktiAl () {
$tampon = "\n<TABLE BORDER=\"$this->border\" WIDTH=\"$this->genislik\" BORDERCOLOR=\"$this->kenarrengi\"";
$tampon .= " CLASS=\"$this->class\" CELLPADDING=\"$this->hucredoldur\" CELLSPACING=\"$this->hucrearalik\">\n";
for ($i = 1; $i <= $this->satirlar; $i++) {
$satirveri = $this->tabloveri[$i];
IF (is_array($satirveri)) {
IF ($i == 1 && $this->ilksatirlartil) {
$tampon .= " <TR class=\"$this->ilksatirlartil\"> \n";
} ELSE {
$tampon .= " <TR>\n";
}
while (list($anahtar, $deger) = each($satirveri)) {
$tampon .= " <TD";
$tampon .= ($deger["birlesiksatir"]) ? " COLSPAN=\"".$deger["birlesiksatir"]."\"" : "";
$tampon .= ($deger["genislik"]) ? " WIDTH=\"".$deger["genislik"]."\">" : ">";
$tampon .= ($deger["deger"]) ? $deger["deger"] : "·";
$tampon .= "</TD>\n";
}
$tampon .= " </TR>\n";
}
}
$tampon .= "</TABLE>\n";
return $tampon;
}
function satirEkle($stil = false) {
$this->satirlar++;
}
function hucreEkle($deger = false, $birlesiksatir = false, $genislik = false) {
$this->tabloveri[$this->satirlar][] = Array (
"deger" => $deger,
"birlesiksatir" => $birlesiksatir,
"genislik" => $genislik);
}
}
$table = new tabloYap;
$table->satirEkle();
$table->hucreEkle("",'',20);
$table->hucreEkle("Ozellik",'',20);
$table->hucreEkle("Deger");
$table->satirEkle();
$table->hucreEkle("Isim:",'',20);
$table->hucreEkle("Mehmet",2);
$table->satirEkle();
$table->hucreEkle("Adres:",2);
$table->hucreEkle("Turkiye");
$table->degerAyarla("border", 1);
echo $table->ciktiAl();
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

HTML
15 lines
<TABLE BORDER="1" WIDTH="500" BORDERCOLOR="#666666" CLASS="tabledefault" CELLPADDING="2" CELLSPACING="0">
<TR class="tablehead">
<TD WIDTH="20">·</TD>
<TD WIDTH="20">Ozellik</TD>
<TD>Deger</TD>
</TR>
<TR>
<TD WIDTH="20">Isim:</TD>
<TD COLSPAN="2">Mehmet</TD>
</TR>
<TR>
<TD COLSPAN="2">Adres:</TD>
<TD>Turkiye</TD>
</TR>
</TABLE>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

HTML Tablo Oluşturma Sınıfı

PHP
68 lines
<?php
class Tablo{
var $topla;
var $say;
function Tablo(){
$ar["border"]="border=0";
$ar["cellspacing"]="cellspacing=0";
$ar["cellpadding"]="cellpadding=0";
$this->args(func_get_args(),$ar);
$this->topla="<table ".implode(" ",$ar).">";
$this->say = 0;
}
function tr(){
if($this->say++) $this->topla.="</tr>";
$this->args(func_get_args(),$ar);
$this->topla.="<tr ".implode(" ",$ar).">";
}
function td(){
$args=func_get_args();
$veri=array_shift($args);
$this->args($args,$ar);
$this->topla.="<td ".implode(" ",$ar).">$veri</td>";
}
function th(){
$args=func_get_args();
$veri=array_shift($args);
$this->args($args,$ar);
$this->topla.="<th ".implode(" ",$ar).">$veri</th>";
}
function rows(){
return $this->say;
}
function html(){
if($this->say) $this->topla.="</tr>";
$this->say = 0;
return $this->topla."</table>";
}
function args($args,&$ar){
settype($ar,"array");
foreach ($args as $v){
if (is_array($v)){
foreach ($v as $ii=>$vv){
if(is_string($ii)){
$n = strtolower($ii);
if($vv && is_string($vv) && $vv[0]!="'" && $vv[0]!='"') $vv = '"'.$vv.'"';
$ar[$n] = strlen($vv) ? "$ii=$vv" : $ii;
}else{
$n = explode("=",$vv);
$n = strtolower($n[0]);
$ar[$n] = $vv;
}
}
}else{
$n=explode("=",$v);
$n=strtolower($n[0]);
if ($v) $ar[$n]=$v;
}
}
return $ar;
}
}
$tbl=new Tablo("border=1");
$tbl->tr();
$tbl->td("Merhaba","bgcolor=#ffffff","style='color:#000000'");
$tbl->tr();
$tbl->td("Yazılımcı");
print($tbl->html());
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

HTML
12 lines
<table border=1 cellspacing=0 cellpadding=0>
<tr >
<td bgcolor=#ffffff style='color:#000000'>
Merhaba
</td>
</tr>
<tr >
<td >
Yazılımcı
</td>
</tr>
</table>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX