Един въпрос за Обектно ориентираният PHP

redbulldog

Registered
Здравейте! Много рядко пиша във форума, писал съм няколко пъти. Сега отново дойде този момент да пиша.
Имайки предвид този код за връзка с базата данни:
PHP:
<?php
class database
{
function db($host, $name, $pass, $db_name)
	{
		$connect = mysql_connect($host, $name, $pass);
		if(!$connect)
		{
			die("Error");
		}
		
		mysql_select_db($db_name, $connect);
	}
}

$data = new database();
	$data->db("localhost", "user", "pass", "database");
		$query = mysql_query("SELECT * FROM test_db");
			$dataDB = mysql_fetch_array($query);
		echo $dataDB['test_row'];
?>

Как би изглеждал този код (кода под този текст) написан, така че да се използва в OOP като не се налага всеки път писането му за отделно селекция на таблици, тоест е ли възможно:
PHP:
$query = mysql_query("SELECT * FROM test ORDER BY id DESC"); 
while($row=mysql_fetch_array($query)){ 

echo $row['ne6to'];

}

този код да стане под формата на ООП, така че да се дефинират в класа името на таблицата и другита парамертри като променливи за да не се налага писането на горният код при селектиране и извеждане на инфо от различни таблици. Ако може някои да помогне дори с линк към някои сайт, защото преди да пиша потърсих доста, но не намерих нищо контретно... Дали аз не съм попаднал на точният сайт или просто съм пропуснал точната информация е друг въпрос.

Благодаря Ви предварително, ако съм обяснил нещо неточно и неясно ще обясня по-добре.
 
Пиша ти го по твоя начин, но аз бих използвал $this.
PHP:
class database
{

function db($host, $name, $pass, $db_name)
        {
                $connect = mysql_connect($host, $name, $pass);
                if(!$connect)
                {
                        die("Error");
                }
                
                mysql_select_db($db_name, $connect);
        }
		
function select_desc($table,$column)
		{
				$query = mysql_query('SELECT * FROM '.$table.' ORDER BY '.$column.' DESC'); 
				while($row[]=mysql_fetch_array($query))
				{ 
				}	
				return $row;
		}
		
}

		$data = new database();
        $data->db("localhost", "root", "pass", "db");
		$result = $data->select_desc("table","id");
		print_r($result);
 
Благодаря за бързият отговор, а що се отнася да $this, може ли един пример и с $this, защото съм страшно голям индианец в сферата на ООП.

:)
 
Малко дългичко е за обяснение, а и от видеото ще ти стане много по-ясно, така че - заповядай! Започни отдолу нагоре и след втория урок ще си наясно с идеята на $this, но не пречи, ако имаш желание да изгледаш и останалите - само от полза ще ти е.
Между другото и тук са излезли доста нови уроци по темата, но не съм ги гледал. :wink:
 
redbulldog каза:
Благодаря за бързият отговор, а що се отнася да $this, може ли един пример и с $this, защото съм страшно голям индианец в сферата на ООП.

:)
Индианците са били много интелигентни...

Пример:
Код:
class A 
{
public $table;
.......
public function B()
{
$query = mysql_query('SELECT * FROM '.$this->table.'
.......
}
}
$obj = new A;
$obj->table = 'tablica';
$result = $obj->B();
.......
Това, което написах по-горе също трябва да работи.
 
Благодаря Ви за отговорите. А за индианците просто такъв е израза, затова го използвах. Отново Ви благодаря :)
 
Дори след като изгледах уроците, нищо не ми стана ясно как стоят нещата.
Може ли някои да ми напише еквивалента на този код на OOP:

PHP:
$query="SELECT * FROM settings ORDER BY id";
$result=mysql_query($query);
while ( $r = mysql_fetch_array( $result ))
{
$lqlq_a =  $r['lqlq'];
$lqlq_b = $r['lqlq2'];

}

Аз стигнах до:

PHP:
public function select ($table, $rows = '*', $where = null, $order = null) {
	
		
		$query = 'SELECT '.$rows.' FROM '.$table;
		if($where != null) 
			$query .= ' WHERE '.$where;
		if($order != null)
			$query .= ' ORDER BY '.$order;
		
		$result = mysql_query($query);

и немога да продължа, тоест самият цикъл незнам как да го направя на OOP, така че да вади същият резултат като на по-горният код.

Моля Ви, помогнете ми :(

УСПЯХ
8) 8) 8) :)
 

Back
Горе