Location: PHPKode > scripts > DbCodeBuilder > dbcodebuilder/AccessBuilder.class.php
<?php
/**
 * A class to retrieve info about database tables.
 * 
 * @author Christian Velin, hide@address.com
 * @version 0.2
 * @since 0.1 Added phpdoc tags to each generated variable and method.
 * @package DbCodeBuilder
 * 
 * Copyright (C) 2007  Christian Velin
 *
 * This program is free software; distributed under the artistic license.
 */
class AccessBuilder
{
	/**
	 * Variable to hold the db connection.
	 *
	 * @var unknown_type
	 */
	private $link;
	
	/**
	 * An array to store all the tables in the selected db.
	 *
	 * @var Array
	 */
	private $tables = array();
	
	/**
	 * A recursive array to hold all the column info for each of the tables.
	 *
	 * @var Array
	 */
	private $tableInfo = array();
	
	
	
	public function __construct($host, $user, $pass, $db)
	{
		$this -> link = mysql_connect($host, $user, $pass);
		mysql_select_db($db);
	}
	
	
	
	/**
	 * A method to discover what tables are stored in the selected db and to store that information.
	 *
	 */
	public function setTables()
	{
		$result = mysql_query("SHOW tables", $this -> link); 
		while($row = mysql_fetch_row($result)) 
		{ 
			$this -> setColumnInfo($row[0]); 
			array_push($this -> tables, $row[0]);
		}
	}
	
	
	
	/**
	 * A method to get and store all information about the columns in each table.
	 *
	 * @param unknown_type $table
	 */
	private function setColumnInfo($table)
	{
		$result = mysql_query("SHOW COLUMNS FROM " . $table);

		if (mysql_num_rows($result) > 0)
		{
			$info = array();
		    while ($row = mysql_fetch_assoc($result))
		    {
		        array_push($info, $row);
		    }
		    array_push($this -> tableInfo, $info);
		}
	}
	
	
	
	/**
	 * Method that returns the table information.
	 *
	 * @return Array an array with all available tables.
	 */
	public function getTables()
	{
		return $this -> tables;
	}
	
	
	
	
	/**
	 * Method that returns the column information.
	 *
	 * @return unknown
	 */
	public function getColumnInfo()
	{
		return $this -> tableInfo;
	}
}


?>
Return current item: DbCodeBuilder