View Single Post
Old 04-28-2008, 03:31 AM   #1 (permalink)
Aaron
The Frequenter
 
Join Date: Dec 2007
Location: In my basement
Posts: 386
Thanks: 47
Aaron is on a distinguished road
Default Constructing a proper class

When do you use '$this->'? Anyway, the following class works fine, I just feel like I wrote it like an idiot. Could someone tell me what I did not-so-well?

PHP Code:
class Db_manager
{
  public function 
__construct()
  {
    
$this->link $link;
    
$this->root ROOT;
  }
  
  private function 
check($query)
  {
    if (!
$query){
      die(
mysql_error());
    }
  }
  
  public function 
dbConnect($my_user,$my_password,$database,$server='localhost')
  {
    
$this->link mysql_connect($server,$my_user,$my_password);
      if (!
$this->link)
        die(
'There was an error connecting to the database.');
    
    
$this->database mysql_select_db($database,$this->link);
      
$this->check($this->database);
  }
  
  public function 
getLocation($extension)
  {
    
/*This function outputs a house with a link going to the home page.  It also creates an array and
    formats it then walks through it putting a separator when needed.*/
    
$output '<a href="' $this->root '"><img src="' $this->root 'include/images/house_link.gif" alt="Home" title="Home Page" /></a>';    
    
$frm_ext explode(' ',$extension);
    foreach(
$frm_ext as $this->ext)
    {
      
trim($frm_ext);
      
$output .= ' » ' $this->ext;
    }
  return 
$output;
  }
  
  public function 
getPageDataArray($where)
  {
    
$this->query "
    SELECT *
    FROM `page`
    if (
$where)
      WHERE 
{$where}
    "
;
    
$this->check($this->query);
    
    
$this->query mysql_query($this->query,$this->link);
      
$this->check($this->query);
      
    return 
mysql_fetch_array($this->query);
  }
  
  public function 
getCategory()
  {
    
$this->query "
      SELECT *
      FROM `category`
    "
;
      
$this->check($this->query);
      
    
$this->query mysql_query($this->query,$this->link);
      
$this->check($this->query);
    
    
$this->query mysql_fetch_array($this->query);
      
$this->check($this->query);
      
$pie "<ul>\n";
    foreach(
$this->query as $nav)
    {
      
$pie .= '<li>' $nav "</li>\n";
    }
    
$pie .= "\n</ul>";
    
    return 
$pie;
  }

__________________
Signatures are nothing but incriminating.
Send a message via MSN to Aaron
Aaron is offline  
Reply With Quote