PHP Code:
	
	
<?php
class home
{
####################################################################
    function client_auflisten() {
        //global vars
        global $tpl;            //smarty
        global $objDB;            //pear
        global $PHP_SELF;
        global $prefix;
        
        //Titel
        $interntitel = "Kundenverwaltung";
        //Internmenü
        $imenu = "»<a href=\"".$PHP_SELF."?action=new\" class=\"subnavlink\">Neuer Kunde</a>";
        //a-z- navi
        $az = range('a', 'z') ;
        // wird für die mysql abfrage benötigt    
        if (isset($_POST['search'])) {
            $filter = "WHERE `name` LIKE '%".$_POST['search']."%'";
        } elseif (isset($_GET['show'])) {
            $filter = "WHERE `name` LIKE '".$_GET['show']."%'"; 
        } else {
            $filter = "";
        }
        //blättern
        $sql = "SELECT 
                    * 
                FROM 
                    ".$prefix."_client";
        $result = $objDB->query($sql);        
        if(DB::isError($result)) {        
            die($result->getMessage());    
        }
        $count = $result->numRows();
        //Wenn keine Seite gewählt Site = 0
        if (!isset($page)) {
            $page = 0;
        }  
        $sql = "SELECT 
                    cid, name 
                FROM 
                    ".$prefix."_client 
                $filter 
                ORDER BY 
                    `name` ASC  
                LIMIT 
                    $page , 10"; 
        $result = $objDB->query($sql);    
        if(DB::isError($result)) {        
            die($result->getMessage());    
        }
        //ausgabe der daten!
        $clientdata = array();
        while($row = $result->fetchrow(DB_FETCHMODE_ASSOC)) {  
            $clientdata[] = $row;
        }
        //Blätterfunktion
        $Seiten = "" ;            //auf leer setzen
        $pages = "";            //auf leer setzen
        if ($page > 0) {
            $pages .= "<a href=\"$PHP_SELF?page=0\" class=\"subnavlink\">[erste Seite]</a> ";
            $back = $page - 10;
            if ($back < 0) {
                $back = 0;
            }
            $pages .= "<a href=\"$PHP_SELF?page=$back\" class=\"subnavlink\">[zurück]</a> ";
        }
        if($count>10) {
            $Seiten=intval($count/10);
            if($count%10) {
                $Seiten++;
            }
        }
        for ($i=1;$i<=$Seiten;$i++) {
            $fwd=($i-1)*10;
            $pages .= "<a href=\"$PHP_SELF?page=$fwd\" class=\"subnavlink\">$i</a> ";
        }
        if($page < $count-10) {
            $fwd=$page+10;
            $pages .= "<a href=\"$PHP_SELF?page=$fwd\" class=\"subnavlink\">[weiter]</a> ";
            $fwd=$count-10;
            $pages .= "<a href=\"$PHP_SELF?page=$fwd\" class=\"subnavlink\">[letzte Seite]</a>";
        }
        //Templates aufbereiten
        $tpl->assign('interntitel', $interntitel);
        $tpl->assign('imenu', $imenu);
        $tpl->assign('az', $az);
        $tpl->assign('pages', $pages);
        $tpl->assign('clientdata', $clientdata);
        $this->call_tpl = "client.tpl";
    }
##################################################################################    
    
    function client_new() {
        //global vars
        global $tpl;            //smarty
        global $objDB;            //pear
        global $PHP_SELF;        //php_self
        global $prefix;            //prefix    
        
        //leere var erzeugen
        $error = "";
            
        //Titel
        $interntitel = "Neuen Kunden anlegen";
        //Internmenü
        $imenu = "»<a href=\"".$PHP_SELF."\" class=\"subnavlink\">Kundenverwaltung</a>";
        //Datenbanken füllen nur wenn abgeschickt wurde
        if (isset($_POST['submit'])) {
            //checken ob es einen kundennamen schon gibt oder keiner eingetragen wurde
            $sql = "SELECT 
                        * 
                    FROM 
                        ".$prefix."_client 
                    WHERE 
                        name='".$_POST['clientname']."'";
            $result = $objDB->query($sql);    
            if(DB::isError($result)) {        
                die($result->getMessage());    
            }
            //anzahl der clients
            $anz = $result->numRows();    
            if (!isset($_POST['clientname']) OR $anz > "0" ) {
                $error = "Sie habe keinen oder einen schon vorhandenen Kundennamen eingegeben";
                //Templates aufbereiten
                $tpl->assign('eroor', $eroor);
                $this->call_tpl = "newclient.tpl";
                exit();        
            } else {    
                $timecode = time();
                $sql = "INSERT INTO 
                            ".$prefix."_client 
                        VALUES (
                            '',
                            '".$_POST['clientname']."',
                            '".$_POST['clientpartner']."',
                            '".$_POST['clientstreet']."',
                            '$timecode',
                            '".$_POST['clientnr']."',
                            '".$_POST['clienttown']."',
                            '".$_POST['clientplz']."',
                            '".$_POST['clienttelefon']."',
                            '".$_POST['clientfax']."',
                            '".$_POST['clientisdn']."',
                            '".$_POST['clientemail']."',
                            '".$_POST['clienturl']."',
                            '".$_POST['clientinfo']."'
                            )";
                    $objDB->query($sql);
                //header    
                header('Location: client.php?show='.$_POST['clientname'].'');
                exit();
            }
        } else {
            //normle ausgabe ohne submit
            $tpl->assign('interntitel', $interntitel);
            $tpl->assign('imenu', $imenu);
            $tpl->assign('error', $error);
            $this->call_tpl = "new_client.tpl";
        }
    }
##################################################################################
    function home()
    {
        if(!isset($_GET['action'])){ 
            $_GET['action'] = 'home'; 
        }
        switch($_GET['action']) {            
            case "home":
            $this->client_auflisten();
            break;
            case "new":
            $this->client_new();
            break;
            
            case "edit":
            $this->client_edit();
            break;
        
            default:
            $this->client_auflisten();
            break;
        }
    }
}
?>
und der aufruf:
PHP Code:
	
	
<?php
require_once('inc/global.inc.php');
//krams
include('client.class.php');
$instanz = new home();
?>
Ist das so "professionell" "klug" aufgebaut.
Ist für mich noch etwas neu mit den klassen.??
Was sollte ich ändern, was ist schon gut.
Danke für jeden tip
 
          

 
							
						
Comment