Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]/[mysqli]/[oop] archtektura strony, czy dobrze i łatwo
Lejto
post
Post #1





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

Ostrzeżenie: (0%)
-----


Pisze kod strony w którym chcę wykorzystać mysqli oop i chcę żeby to wszystko miało swój początek i koniec żeby było dobrze zrobione. Do tej pory mam to:
klasa
  1. <?php
  2. require_once('config.php');
  3.  
  4. class mysql
  5. {
  6.    private $lacz;
  7.    
  8.    public function __construct()
  9.    {
  10.        $this->lacz = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
  11.  
  12.    }
  13.    public function __dectruct()
  14.    {
  15.        $this->lacz->close();
  16.    }
  17.  
  18.    public function set_query($query)
  19.    {
  20.  
  21.            $rows = array();
  22.            $wykonaj = $this->lacz->query($query);
  23.            
  24.              
  25.                    while($row = $wykonaj->fetch_row())
  26.                    {
  27.                    return $row[0];
  28.                      }    
  29.                    
  30.     }
  31.    public function select_page($page)
  32.    {
  33.            
  34.        switch($page)
  35.        {
  36.            case '':
  37.            $this->glowna();
  38.            break;
  39.            
  40.            
  41.        }
  42.        
  43.        return $page;
  44.    }
  45.    public function glowna()
  46.    {
  47.    
  48.        $nag = $this->set_query('SELECT naglowek from pages');
  49.             $nag = $this->set_query('SELECT tresc from pages');    
  50.  
  51.    }
  52. }
  53. ?>

przykładowy index.php
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <base href="http://localhost/spin/" />
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6. <link rel="stylesheet" href="style.css" type="text/css">
  7. </head>
  8. <body>
  9. <?
  10. $page = $_GET['page'];
  11. include("db.class.php");
  12. $db = new mysql();
  13.  
  14. $result = $db->set_query('SELECT * FROM config');
  15.  
  16. ?>
  17. <title><? echo $result; ?></title>
  18. [...]
  19.      <div id="img1b"> <!--główna kolumna -->
  20.              
  21.            <?
  22.            $db->select_page($page);
  23.            $db->glowna();
  24.            ?>      
  25.             <div class="nag"><p><? echo $nag; ?></p></div>
  26.            <hr />
  27.            <span class="inf">
  28.              
  29.            <?
  30.            $result = $db->set_query('SELECT tresc from pages');
  31.            echo $result;
  32.            
  33.             echo $txt;
  34.            ?>
  35.            
  36.            
  37.            
  38.            </span>
  39.                
  40.      </div> <!--główna kolumna -->
  41. [....]

I teraz pytanie czy to jest optymalnie i dobrze napisane. Tak żeby przy dodawani dodatkowych stron nie było problemu.
I jeszcze jak mam kto który wyświetla informacje na stronie głównej:
  1. <div id="img1b"> <!--główna kolumna -->
  2.              
  3.            <?
  4.            $db->select_page($page);
  5.            $db->glowna();
  6.            ?>      
  7.             <div class="nag"><p><? echo $nag; ?></p></div>
  8.            <hr />
  9.            <span class="inf">
  10.              
  11.            <?
  12.            $result = $db->set_query('SELECT tresc from pages');
  13.            echo $result;
  14.            
  15.             echo $txt;
  16.            ?>
  17.            
  18.            
  19.            
  20.            </span>
  21.                
  22.      </div> <!--główna kolumna -->

Jak zrobić żeby po wywołaniu $db->glowna(); wyświetliło nagłówek który pobrałem w tej funkcji tam gdzie chcę (wrzucić go do zmiennej)
Żeby to przy wybraniu innej strony pobrało inne dane. Czy każdy dział w innym pliku zrobić?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.09.2025 - 17:12