Извличане на информация от MySQL - ООП

DirectX

Registered
От съвсем скоро започнах да се интерисувам от ООП и имам тук там някой друг въпрос.
Имам списък с лични данни на някого - име,презиме.... и искам да ги изкарам от базата.

По-долу е моето "творение" , но не работи...
PHP:
<?
class database
{
	function db($hostname,$name,$password,$database)
	{
		$connection = mysql_connect($hostname,$name,$password);
		if(!$connection) die("Can not connect: ". mysql_error());
		else { mysql_select_db($database,$connection); mysql_query("SET NAMES utf8"); }
	}
}
$base = new database();
$base->db("localhost","root","passwd","test");

class owner
{
	function info()
	{
		$query = mysql_query("SELECT * FROM `owners` WHERE `id`='1'")or die(mysql_error()."<br />Грешка: ".__LINE__);
		while($row=mysql_fetch_array($query))
		{
			$name = $row['ime'];
			$egn = $row['egn'];	
		}
	}
}
$owner = new owner()
echo $owner->$name; 



?>
 
PHP:
<?
class database
{
        function db($hostname,$name,$password,$database)
        {
                $connection = mysql_connect($hostname,$name,$password);
                if(!$connection) die("Can not connect: ". mysql_error());
                else { mysql_select_db($database,$connection); mysql_query("SET NAMES utf8"); }
        }
}
$base = new database();
$base->db("localhost","root","passwd","test");

class owner
{
        function info()
        {
                $query = mysql_query("SELECT * FROM `owners` WHERE `id`='1'")or die(mysql_error()."<br />Грешка: ".__LINE__);
                while($row=mysql_fetch_array($query))
                {
                        $name = $row['ime'];
                        $egn = $row['egn'];     
                        return $name;
                }
        }
}
$owner = new owner();
echo $owner->info(); 



?>
 
fbian каза:
PHP:
<?
class database
{
        function db($hostname,$name,$password,$database)
        {
                $connection = mysql_connect($hostname,$name,$password);
                if(!$connection) die("Can not connect: ". mysql_error());
                else { mysql_select_db($database,$connection); mysql_query("SET NAMES utf8"); }
        }
}
$base = new database();
$base->db("localhost","root","passwd","test");

class owner
{
        function info()
        {
                $query = mysql_query("SELECT * FROM `owners` WHERE `id`='1'")or die(mysql_error()."<br />Грешка: ".__LINE__);
                while($row=mysql_fetch_array($query))
                {
                        $name = $row['ime'];
                        $egn = $row['egn'];     
                        return $name;
                }
        }
}
$owner = new owner();
echo $owner->info(); 



?>
мда това работи но как да имам достъп до всяка една инфомация за дадения човек...т.е. име, фамилия,егн, но по отделно ? :shock:
имам в предвид да е нещо от рода на: $owner->name ; $owner->familia
 
PHP:
<?
class database
{
        function db($hostname,$name,$password,$database)
        {
                $connection = mysql_connect($hostname,$name,$password);
                if(!$connection) die("Can not connect: ". mysql_error());
                else { mysql_select_db($database,$connection); mysql_query("SET NAMES utf8"); }
        }
}
$base = new database();
$base->db("localhost","root","passwd","test");

class owner
{
        function info()
        {
                $query = mysql_query("SELECT * FROM `owners` WHERE `id`='1'")or die(mysql_error()."<br />Грешка: ".__LINE__);
                while($row=mysql_fetch_array($query))
                {
                        $name = $row['ime'];
                        $egn = $row['egn'];     
                        return array("name" => $row['ime'],"egn" => $row['egn']);
                }
        }
}
$owner = new owner();
$info = $owner->info();
 
echo $info['name'];
echo $info['egn']


?>
Връщаш масив с всичко,което ти трябва.
 
PHP:
<?php

class Owner {

	public $name, $egn;

	public function info() {

		$query = mysql_query("SELECT * FROM `owners` WHERE `id`='1'")or die(mysql_error()."<br />Грешка: ".__LINE__);

		while($row = mysql_fetch_assoc($query)) {

			$this->name = $row['ime'];
			$this->egn = $row['egn'];

		}

		return $this;

	}

}


$owner = new Owner();

echo "The name is: " . $owner->info()->name;
echo "<br> EGN is: " . $owner->info()->egn;

Има и други варианти.
 
Мдаа....точно от това се нуждаех и по-скоро варианта на @Revelation ми допада доста.. :?:
 

Back
Горе