[PHP5] OOP - Unsere Erste Benutzbare Klasse

Hi, nun ich hoffe ihr habt das OOP Tutorial von mir durchgelesen das ist die Vorraussetzung für die die OOP nicht kennen. Ich zeige euch nun erstmal den ganzen Code, dann erläutere ich einzelene Teile, und die Anwendung.

[Der ganze Code]

<?php
class DB {
var $host;
var $user;
var $pwd;
var $db;
var $tabelle;

function DB($db_host="" , $db_user="" , $db_pass="" , $database="")
{
$this->host = $db_host;
$this->user = $db_user;
$this->pwd = $db_pass;
$this->db = $database;
$this->DbConnect();
}
function DbConnect(){
if(!$this->con = mysql_connect($this->host, $this->user, $this->pwd, $this->db
)) {
die("(Connection) Fehler: ".mysql_error())."<br>";
} else
$this->SelectDb();
}
function SelectDb() {
if(!mysql_select_db($this->db, $this->con)) {
die("(DB-Auswahl) Fehler: ".mysql_error())."<br>";
} else
$result = 1;
return $result;
}
function DoSql($sql) {
if(!$this->res = mysql_query($sql, $this->con)) {
die("(SQL-Ausführung) Fehler: ".mysql_error())."<br>";
}
}
function GetRes() {
$row = mysql_fetch_array($this->res, MYSQL_ASSOC);
if(!is_array($row)) {
return false;
} else
return $row;
}
function CountDb($tabelle) {
$ergebnis = mysql_query("SELECT COUNT(*) as zahl FROM $tabelle" )die("(Connection) Fehler: ".mysql_error())."<br>";
$ausgabe = mysql_fetch_array($ergebnis);
echo $ausgabe[zahl];
}
function CloseCon() {
$this->con = mysql_close();
}
}
?>

(leider ist hier das einrücken etwas schwierig sorry.

So nun komme wir zu dem ersten Teil.

<?php
class DB {
var $host;
var $user;
var $pwd;
var $db;
var $tabelle;
?>

Hier werden die Variabeln für die Klasse gespeichert, das sind Klasseninterne Variabeln (erläuterungen im OOP 5 Tut.

Teil 2:
<?
function DB($db_host="" , $db_user="" , $db_pass="" , $database="")
{
$this->host = $db_host;
$this->user = $db_user;
$this->pwd = $db_pass;
$this->db = $database;
$this->DbConnect();
}
?>


In der function "db" seztzen wir die Variabeln. zu This $this-> ist ebenfalls nachzuschlagen.

Teil3:
<?
function SelectDb() {
if(!mysql_select_db($this->db, $this->con)) {
die("(DB-Auswahl) Fehler: ".mysql_error())."<br>";
} else
$result = 1;
return $result;
}
?>

Diese Funktion connectet mit der Angeben Tabelle, und gibt eine Fehlermeldung aus falls er sie nicht Selektieren konnte.

[Teil 4]
<?
function DoSql($sql) {
if(!$this->res = mysql_query($sql, $this->con)) {
die("(SQL-Ausführung) Fehler: ".mysql_error())."<br>";
} ?>

Diese Funtkion sollte allen klar sein, sie führt eine mysql_query aus der auf der variable "§sql" basiert,

[Teil 5]
<?
function GetRes() {
$row = mysql_fetch_array($this->res, MYSQL_ASSOC);
if(!is_array($row)) {
return false;
} else
return $row;
?>
}

Speichert die Selectierten Variabeln in der Variable "$row".

[Teil 5]
<?
function CountDb($tabelle) {
$ergebnis = mysql_query("SELECT COUNT(*) as zahl FROM $tabelle" )die("(Connection) Fehler: ".mysql_error())."<br>";
$ausgabe = mysql_fetch_array($ergebnis);
echo $ausgabe[zahl];
}
?>

Die Funktioin sollte eigentlich auch allen Bekannt sein, sie zählt die Einträge und gibt sie in eienr Zahl aus.

[Der letzte Teil]

function CloseCon() {
$this->con = mysql_close();
}

Dieses ist eigentlich nicht nötig, ausser du connectest zu meheren MYSQL Tabellen.


So das wars auch schon, für die die es Kapiert haben, sollte es klar sein das sie diese MYSQL Tabelle belieb erweitern können.
Bis denne.


Stoke (s1x)

Kommentare

Warden
Warden am Samstag, 26. November 2005 um 10:23

Super Tutorial ;) Echt geil !!!

butschi am Mittwoch, 20. Juni 2007 um 15:00

Nuja, is leider in php4 geschrieben, keine richtige OOP :( aber trotzdem ganz nett, wasmir hier noch fehlt is fetchObject($result) und typenprüfung ^^

n1

unkie
unkie am Donnerstag, 21. Juni 2007 um 11:10

butschi du bist herzlichst dazu eingeladen, dich hier anzumelden und das tutorial richtig OOP anzupassen! ich wäre dir sehr dankbar :)

Markus René Einicher
Markus René Einicher am Freitag, 22. Juni 2007 um 14:49

Ja sicher isses PHP4, schau aufs Datum ;-)

blackfeet
blackfeet am Sonntag, 1. Juli 2007 um 22:26

Schau auf den Titel: "[b][PHP5][/b] OOP - Unsere Erste Benutzbare Klasse"

Markus René Einicher
Markus René Einicher am Montag, 9. Juli 2007 um 13:05

oops :)