login  Naam:   Wachtwoord: 
Registreer je!
 Forum

(DB) Class

Offline thyssimonis - 22/09/2005 02:33 (laatste wijziging 22/09/2005 02:58)
Avatar van thyssimonisPHP interesse Hallo,

Ik ben eindelijk is begonnne aan (db) class.
Reden:
- Site word er sneller van
- Een mysql_query maken gaat nu sneller
(- Kom maar met jouw voordelen)

Ik me eerst (db) class gemaakt.
Nu wil ik weten of ik niks verkeerd heb gedaan of dome dinge.
Graag ontopic en normale reactie`s! Krijg je altijd bij SM:p


config.inc.php
  1. <?
  2. class db {
  3.  
  4. function db () {
  5. $dbhost= "localhost"; //Plaats waar datebase staat 99% localhost
  6. $dbuser= ""; //Username van datebase
  7. $dbpass = ""; //Password van datebase
  8. $dbnaam = ""; //Datebasenaam
  9. if (!@mysql_select_db($dbnaam, @mysql_connect($dbhost, $dbuser, $dbpass))) {
  10. $error = true;
  11. exit();
  12. }
  13. }
  14.  
  15. function dbexec ($sql) {
  16. $res = mysql_query($sql) or die(mysql_error());
  17. return $res;
  18. }
  19.  
  20. function dbselect ($fields, $table, $where, $order, $group, $limit) {
  21. $sql = 'SELECT ';
  22. if($fields) { $sql .= $fields; } else { $sql .= '*'; }
  23. $sql .= ' FROM ';
  24. $sql .= $table;
  25.  
  26. if($where) {
  27. $sql .= ' WHERE ';
  28. $sql .= $where;
  29. }
  30.  
  31. if($order) {
  32. $sql .= ' ORDER BY ';
  33. $sql .= $order;
  34. }
  35.  
  36. if($group) {
  37. $sql .= ' GROUP BY ';
  38. $sql .= $group;
  39. }
  40.  
  41. if($limit) {
  42. $sql .= ' LIMIT ';
  43. $sql .= $limit;
  44. }
  45.  
  46. $res = $this->dbexec($sql);
  47. return $res;
  48. }
  49.  
  50. }
  51. ?>


Aanroepen
  1. <?
  2. include_once 'include/ubb.inc.php';
  3. $db = new db;
  4.  
  5. $list_query = $db->dbselect('field', 'table', 'where', 'order', 'group', 'limit');
  6. $list = mysql_fetch_assoc($list_query);
  7. ?>


Voorbeeld: ingevuld
  1. <?
  2. include_once 'include/ubb.inc.php';
  3. $db = new db;
  4.  
  5. $list_query = $db->dbselect('id, name', 'leden', 'name="jan"', 'name DESC', '', '0,5');
  6. $list = mysql_fetch_assoc($list_query);
  7. ?>


Hoop dat het wat is voor de eerste keer 
- Heb het getest en het werkt

4 antwoorden

Gesponsorde links
Offline Frisbee - 22/09/2005 12:31
Avatar van Frisbee HTML beginner waarom gebruik je niet de pear db class?

http://pear.php.net/package/DB
Offline thyssimonis - 22/09/2005 12:34
Avatar van thyssimonis PHP interesse Omdat ik alles zelf maak!
Deze class is nog niet af, want insert etc. zit er nog niet bij
Maar tot nu toe
Offline DRUNK - 22/09/2005 13:30 (laatste wijziging 22/09/2005 13:31)
Avatar van DRUNK PHP gevorderde
Citaat:
Site word er sneller van


Dit is niet geheel waar, vooral in PHP4 niet. Als je OOP gebruikt is de overhead groter, meer geheugen gebruik ed.

Als je het goed aanpakt zal je hiervan niets tot nauwelijks iets merken maar dan moet je we geoptimaliseerde code hebben. In PHP 5 is dit al een stuk minder merkbaar, maar je gebruikt geen PHP 5 aan je code te zien. Wat er wel sneller van gaat (als je het goed doet) is de ontwikkeling en het onderhoud van je applicatie.

Over code gesproken, dit wat hierboven gepost is iig. geen juiste php4 OOP code. Dit zijn gewoon 3 functies tussen een 'class - label'. Ik raad je dus aan om eerst dit: http://www.php.net/manual/en/language.oop.php/ stukje handleiding eens goed te bestuderen.

Een class is te vergelijken met een datatype (als: int, str, float ed.), je maakt dus een object van het type <class>. Dit gemaakte object is een 'ding' wat 'iets' kan doen, wat het kan is in je class gedefinieerd. Denk hierbij aan een koelkast, dit 'ding' is gemaakt om eten/drinken koel te bewaren, hoe dit 'ding' doet wat het moet doen interesseert niemand iets als het maar werkt.
In de koelkast zitten allemaal onderdelen om zijn werk goed te kunnen doen bijvoorbeeld motor, lampje, schakelaar, thermometer ... en nog een heel veel dingen. Zie je: het boeit me niets wat erin zit, maar wel vind ik het belangrijk dat het werkt en ook wil ik weten hoe ik er mee om moet gaan.

Zoals hierboven beschreven kun je dus zien dat een object ‘iets’ is wat ‘iets’ kan doen, zo is het leven maar zo kun je dus ook coden.
OOP is dus blijkbaar meer dan het woordje ‘class’ boven je lijstje met functies zetten, het is meer een denkwijze die je gebruikt om bepaalde problemen de wereld uit te helpen.

Hierover kan ik nog uren blijven doorzagen maar dat zal toch niet gelezen worden, daarom stop ik er meer mee en geef je nog een lijstje met leuke en leerzame links 

http://www.php.net/manual/en/language.oop.php
http://www.php.net/manual/en/language.oop5.php
http://www.tony...jects.html
http://www.zend.com/php/design/patterns1.php
http://www.goog...n&meta=
http://www.goog...n&meta=

Succes met studeren !
Offline thyssimonis - 22/09/2005 16:17
Avatar van thyssimonis PHP interesse Bedankt, jammer dat engels is.
Maar wat heb ik dan fout gedaan?
Heet woordje VAR?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.186s