eigenes forum

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • eigenes forum

    Ich wollte mir für meine bisheriges script "joberfassung" noch ein board/forum schreiben, doch wie baut man das richtig mit OOP auf, so wie ich es bisher habe kann es nicht annähernt die proffesionellste lösung sein,


    PHP-Code:
    <?php

    class home
    {
    #################################################################################

        
    function show() {
            
    //global vars
            
    global $tpl;            //smarty
            
    global $objDB;            //pear
            
    global $PHP_SELF;        //php_self
            
    global $prefix;            //prefix    
            
            //boards auslesen und ausgeben
            
    $this->board();
            
            
    //postgewählt
            
    if(get_var('board'TYPE_GET) && get_var('threat'TYPE_GET)) {
                
    $this->post();
            
    //boardgewählt
            
    }elseif (get_var('board'TYPE_GET) ) {
                
    $this->threat();
            }
        }
    ##################################################################################
        
        
    function board() {
            
    //global vars
            
    global $tpl;            //smarty
            
    global $objDB;            //pear
            
    global $PHP_SELF;        //php_self
            
    global $prefix;            //prefix    
        
            //board auslesn und ausgeben
            
    $sql "SELECT
                        B.name as bname, B.bid, B.info as binfo,
                        BP.titel ptitel, BP.eid, BP.date,
                        E.name as ename
                    FROM
                        "
    .PREFIX."board B
                        LEFT JOIN "
    .PREFIX."boardpost BP 
                            ON BP.bid = B.bid
                        LEFT JOIN "
    .PREFIX."employee E 
                            ON E.eid = BP.eid
                    GROUP BY
                        BP.bid
                    ORDER BY
                        B.bid, BP.date"
    ;            
            
    $result $objDB->query($sql);    
            if(
    DB::isError($result)) {        
                die(
    $result->getMessage());    
            }
            while(
    $row $result->fetchrow(DB_FETCHMODE_ASSOC)) {  
                
    $this->boarddata[] = $row;
                }
            
    //Templates aufbereiten
            
    $tpl->assign('boarddata'$this->boarddata);
            
    $this->call_tpl "board_ubersicht.tpl";
        }

        
    ##################################################################################
        
        
    function threat() {
            
    //global vars
            
    global $tpl;            //smarty
            
    global $objDB;            //pear
            
    global $PHP_SELF;        //php_self
            
    global $prefix;            //prefix    
        
            //board auslesn und ausgeben
            
    $sql "SELECT
                        B.name as bname, B.bid, B.info as binfo,
                        BT.name as btname, BT.btid as btid, BT.date as btdate,
                        BP.titel ptitel, BP.eid, BP.date, COUNT(BP.bpid) as bpreply,
                        E.name as ename
                    FROM
                        "
    .PREFIX."board B
                        LEFT JOIN "
    .PREFIX."boardthreat BT 
                            ON BT.bid = "
    .get_var('board'TYPE_GET)."
                        LEFT JOIN "
    .PREFIX."boardpost BP 
                            ON BP.btid = BT.btid
                        LEFT JOIN "
    .PREFIX."employee E 
                            ON E.eid = BP.eid
                    GROUP BY
                        BT.btid
                    ORDER BY
                        B.bid, BP.date"
    ;        
            
    $result $objDB->query($sql);    
            if(
    DB::isError($result)) {        
                die(
    $result->getMessage());    
            }
            while(
    $row $result->fetchrow(DB_FETCHMODE_ASSOC)) {  
                
    $this->threatdata[] = $row;
                }
            
    //Templates aufbereiten
            
    $tpl->assign('threatdata'$this->threatdata);
            
    $this->call_tpl "threat_ubersicht.tpl";
        }

        
    ##################################################################################

    ##################################################################################
        
        
    function post() {
            
    //global vars
            
    global $tpl;            //smarty
            
    global $objDB;            //pear
            
    global $PHP_SELF;        //php_self
            
    global $prefix;            //prefix    
        
            //board auslesn und ausgeben
            
    $sql "SELECT
                        B.name as bname, B.bid, B.info as binfo,
                        BT.name as btname, BT.btid as btid, BT.date as btdate,
                        BP.titel ptitel, BP.eid, BP.date, BP.titel as bptitel, BP.text as bptext, COUNT(BP.bpid) as bpreply,
                        E.name as ename
                    FROM
                        "
    .PREFIX."board B
                        LEFT JOIN "
    .PREFIX."boardthreat BT 
                            ON BT.bid = "
    .get_var('board'TYPE_GET)."
                        LEFT JOIN "
    .PREFIX."boardpost BP 
                            ON BP.btid = "
    .get_var('threat'TYPE_GET)."
                        LEFT JOIN "
    .PREFIX."employee E 
                            ON E.eid = BP.eid
                    GROUP BY
                        BP.bpid
                    ORDER BY
                        B.bid, BP.date
                    "
    ;        
            
    $result $objDB->query($sql);    
            if(
    DB::isError($result)) {        
                die(
    $result->getMessage());    
            }
            while(
    $row $result->fetchrow(DB_FETCHMODE_ASSOC)) {  
                
    $this->postdata[] = $row;
            }
            
    //Templates aufbereiten
            
    $tpl->assign('postdata'$this->postdata);
            
    $this->call_tpl "post_ubersicht.tpl";
        }

        function 
    home()
        {
            
    //subnav aufrugen
            //global vars
            
    global $tpl;            //smarty
            
    $tpl->assign('mainnav''projekt');

            if(!isset(
    $_GET['action'])){ 
                
    $_GET['action'] = 'home'
            }
            switch(
    $_GET['action']) {            
                case 
    "home":
                
    $this->show();
                break;

            
                default:
                
    $this->show();
                break;
            }
        }
    }
    ?>
    thx Mukraker

  • #2
    ich glaube du solltest dir zunächst mal überlegen wann/warum man oop/classen benutzt. und vor allem wie. wenn man mit GLOBALS rumspielen will, braucht es jedenfalls nicht

    aber was ist jetzt der eigentliche grund deines beitrags?
    h.a.n.d.
    Schmalle

    http://impressed.by
    http://blog.schmalenberger.it



    Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
    ... nur ohne :-)

    Kommentar


    • #3
      der grund war das ich wissen wollte,
      wie ich das richtig in OOP umsetzen muss. ich hab mir schon einige tuts durchgelesen, aber so isses anscheint falsch!
      thx Mukraker

      Kommentar


      • #4
        kann mir hier nun noch einer weiterhelfen, wäre echt super geil.
        thx Mukraker

        Kommentar


        • #5
          Original geschrieben von mukraker
          kann mir hier nun noch einer weiterhelfen, wäre echt super geil.
          wenn du den sinn von OOP nicht verstanden hast,m warum willst du es dann benutzen?= und was erwartest du jetzt von uns? eine kompletteinweisung? das ist ein forum, und kein schulungszentrum. wir können hier nicht 100 seiten erklärungen und meinungen posten ....
          h.a.n.d.
          Schmalle

          http://impressed.by
          http://blog.schmalenberger.it



          Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
          ... nur ohne :-)

          Kommentar


          • #6
            schade ,
            ich hatte nur gehofft, das ihr mir nen grundansatz für ein forum geben könntet, Meerschweinchen hab ich nämlich mittlerweile zu genügend gemacht !
            thx Mukraker

            Kommentar


            • #7
              index.php = Die Datei wo alle Foren, Kathegorien usw. aufgelistet sind

              forum.php = Die Datei, wo man sich die Beiträge eines Forums anschauen kann

              action.php = Hier kann man sich einloggen, ausloggen, regestrieren und wenn man sein password vergessen hat ein neues anfordern.

              thread.php = Ansicht eines Threades

              post.php = Damit kann man sich ein einzelndes Posting anschauen, praktisch wenn man jemand auf irgendwas hinweisen will (in dem Posting)

              faq.php = FAQ

              global.php = hier wird das ganze mit dem Usermanagement gemacht

              functions.php = Die Funktionen, welche von global.php eingebunden werden.

              newpost.php = Neuen Beitrag in einem Thread schreiben

              newthread.php = Neuen Thread erstellen

              usercp.php = Der User CP


              Das war zwar ein bisschen knapp, allerdings muss man auch selbst kreativ werden

              Admin CP kannst du dir ja denken (hoff ich mal )


              MfG Floriam
              PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

              Kommentar


              • #8
                danke, soweit so gut hatte ich den ansatz ja auch, doch wie kommt da nun OOP ins spiel ?
                thx Mukraker

                Kommentar


                • #9
                  Original geschrieben von mukraker
                  danke, soweit so gut hatte ich den ansatz ja auch, doch wie kommt da nun OOP ins spiel ?
                  garnicht !

                  Ein OO Programm in Java / C++ / ... hat genau EINEN Startpunkt,
                  von dem aus das ganze Programm aus ausgeführt wird.
                  Wieso sollte man das jetzt alles ändern ?

                  Meine OO Programme werden alle über index.php?go=... ausgeführt,
                  auch mein Forum
                  TBT

                  Die zwei wichtigsten Regeln für eine berufliche Karriere:
                  1. Verrate niemals alles was du weißt!


                  PHP 2 AllPatrizier II Browsergame

                  Kommentar

                  Lädt...
                  X