Welkom, Gast. Je bent niet ingelogd.

script Database Class

Saven
admin
Geplaatst op: 09 Dec 2006, 20:25
PimpCoins: 0
💸+
Bewerken Quote

Ik kwam een wat oudere database class van mij tegen die ik nog gebruikte bij v4.1

Misschien hebben sommigen er wat aan, uitleg staat in het script

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
<?php

/***********************************************************
| Saven.nl Class v1.0
+-----------------------------------------------------------
| =============================================
| Author:    Saven
| Copyright: (c) 2006 Saven.nl
| =============================================
|
| Usage:
| =============================================
| $db = new Database;
| $query = $db->query("SELECT [pre]foo FROM bar"); # [pre] will automatically be replaced by the database prefix
| 
| $num = $db->num();      #if the first parameter is empty, it wil fetch the last query
| discription: counts the number of rows of a query
|
| $fetch = $db->fetch();  #if the first parameter is empty, it wil fetch the last query
| discription: fetches a query
| 
| $db->upd($table, $set, $where);
| discription: updates a table, short function
| example: $db->upd("table", "level='3', status='admin', foo='bar'", "username='Saven'");
|
| $db->del($table, $where);
| discription: deletes data from a table, a short function
| example: $db->del("table", "id='$some_id'");
|
| $db->set_prefix();
| discription: sets the database prefix
|
| $db->error('string');
| discription: returns a error and dies
|
| $db->close();
| discription: closes the connection with the database
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| The $obj array needs to contain the following keys:
| 'host' # the database host, usually 'localhost'
| 'user' # the database username
| 'pass' # the database password
| 'db'   # the database name
| 'pre'  # the database prefix, if you do not use a database prefix, leave the value empty
|
| example: $obj = array('host'=>'localhost', 'user'=>'me', 'pass'=>'blabla', 'db'=>'forum', 'pre'=>'saven_');
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| $conn checks if there's a connection
| $query_id is the last used query
| =============================================
+-----------------------------------------------------------
| Saven.nl Database Class v1.0
***********************************************************/

class Database
{
    
    # array met database info
    var $obj        = array( 'host'        => 'localhost'    ,
                             'user'        => 'username'    ,
                             'pass'        => 'password'    ,
                             'db'        => 'database'    ,
                             'pre'        => 'saven_'        );
                 
    var $conn        = FALSE;
    
    var $query_id    = NULL;
    
    
    /*---------------------------------------------------------*/
    // Constructor
    /*---------------------------------------------------------*/
    
    function Database()
    {
        //-----------------------------------------
        // SQL Prefix al geset?
        //-----------------------------------------
         
         $this->set_prefix();
        
        //-----------------------------------------
        // Connecten
        //-----------------------------------------
        
        $this->conn = @mysql_connect( $this->obj['host'] ,
                                      $this->obj['user'] ,
                                      $this->obj['pass']    );
                
        if( !$this->conn )
        {
            $this->error('Kan geen verbinding maken met de database<br /><small>'.mysql_error().'<small>');
            
            return FALSE;
        }
        
        if( !@mysql_select_db($this->obj['db'], $this->conn) )
        {
            $this->error('De opgegeven database bestaat niet<br /><small>'.mysql_error().'<small>');
            
            return FALSE;
        }
        
        return TRUE;        
    }
    
    /*---------------------------------------------------------*/
    // Prefix voor tabellen vastzetten
    /*---------------------------------------------------------*/
    
    function set_prefix()
    {
        if( !defined('prefix') )
        {
            $this->obj['pre'] = isset($this->obj['pre']) ? $this->obj['pre'] : '';
            
            define('prefix', $this->obj['pre']);
        }
    }
        
    /*---------------------------------------------------------*/
    // MySQL errors weergeven (bij connecten of query)
    /*---------------------------------------------------------*/
    
    function error($msg, $die=TRUE)
    {
        $out = '<center><h1>MySQL Error</h1><hr />'.$msg.'</center>';
        
        die($out);
    }
    
    /*---------------------------------------------------------*/
    // Een query gaan uitvoeren
    /*---------------------------------------------------------*/
    
    function query($the_query)
    {
        $the_query      = str_replace('[pre]', prefix, $the_query);
                
        $this->query_id = mysql_query($the_query, $this->conn);
                
        if( !$this->query_id )
        {            
            $this->error('Fout in query: <em>('.$the_query.')</em><br />'.mysql_error());
        }
        else
        {
            return $this->query_id;
        }
    }
    
    /*---------------------------------------------------------*/
    // MySQL querys fetchen gebaseerd op laastste query
    /*---------------------------------------------------------*/
    
    function fetch($query='', $how='assoc')
    {
        if( empty($query) )
        {
            return mysql_fetch_assoc( $this->query_id );
        }        
        elseif( $how == 'assoc' || empty($how) )
        {
            return mysql_fetch_assoc($query);
        }
        elseif( $how = 'array' )
        {
            return mysql_fetch_array($query);
        }
        elseif( $fetch == 'object' )
        {
            return mysql_fetch_object($query);
        }
        else
        {
            $this->error('Onbekende methode om te fetchen ('.$how.')');
        }
        
    }
    
    /*-------------------------------------------------------------------------*/
    // Aantal resultaten van query tellen gebaseerd op laastste query
    /*-------------------------------------------------------------------------*/
    
    function num($query='')
    {
        if( empty($query) )
        {
            $num = $this->query_id;
        }
        else
        {
            $num = $query;
        }
        
        return mysql_num_rows($num);
    }
    
    /*-------------------------------------------------------------------------*/
    // Snel een tabel updaten
    /*-------------------------------------------------------------------------*/
    
    function upd($tbl, $set, $where='')
    {
        $query = "UPDATE ".prefix.$tbl." SET ".$set;
        
        if( !empty($where) )
        {
            $query .= " WHERE ".$where;
        }
        
        $do = mysql_query($query);
        
        if( !$do )
        {
            $this->error('Fout tijdens quick-update ('.$query.')');
            
            $do = FALSE;
        }
        
        return $do;
    }
    
    /*-------------------------------------------------------------------------*/
    // Snel een record verwijderen uit een tabel
    /*-------------------------------------------------------------------------*/
    
    function del($tbl, $where)
    {
        $query = "DELETE FROM ".prefix.$tbl;
        
        if( !empty($where) )
        {
            $query .= " WHERE ".$where;
        }
        
        $do = mysql_query($query);
        
        if( !$do )
        {
            $this->error('Fout tijdens quick-delete ('.$query.')');
            
            $do = FALSE;
        }
        
        return $do;
    }
    
    /*-------------------------------------------------------------------------*/
    // En toen gingen we de verbinding sluiten
    /*-------------------------------------------------------------------------*/
    
    function close()
    {
        if( $this->conn )
        {
            @mysql_close($this->conn);
        }
    }
    
}

?>

Sander
Geplaatst op: 09 Dec 2006, 20:28
PimpCoins: 0
💸+
Bewerken Quote

Nice.

Saven
admin
Geplaatst op: 09 Dec 2006, 20:28
PimpCoins: 0
💸+
Bewerken Quote

Commentaar is zowat even lang als het script zelf

Striker
Geplaatst op: 09 Dec 2006, 20:29
PimpCoins: 0
💸+
Bewerken Quote

Ik vindt het wel een goed script opzig.

off: heb je nog meer oude classes van V4.1 die je openbaar gaat stellen?

iisys
Hmhm, indeed. whtvr.
moderator
Geplaatst op: 09 Dec 2006, 21:05
PimpCoins: 0
💸+
Bewerken Quote

Vermeld ook ff erbij voor welke phpversie het te gebruiken is

En je kan er nog een paar functies aan toevoegen. Paar voorbeelden:
CountRows ( $tbl , $where )
Tel het aantal records van een bepaalde tabel waar $where.
AffectedRows ( )
Return het aantal aangeraakte records.
SafeOutput ( $str )
Maak een string veilig voor output.
SafeInput ( $str )
Maak een string veilig voor input.
Field ( $field , $tbl , $where , $row = 0 )
Geef de waarde van een speciefiek veld ($field) uit table $tbl terug waar $where.

En zo heb ik er nog wel een paar in mijn eigen Connection class
Staat alleen geen documentatie bij. Zou te lang worden, te veel werk en heb geen tijd voor

Saven
admin
Geplaatst op: 09 Dec 2006, 21:17
PimpCoins: 0
💸+
Bewerken Quote

Mja hij is al ietsje oud en ik ga hem toch nite meer updaten ofzo

Webtijn
Geplaatst op: 09 Dec 2006, 21:41
PimpCoins: 0
💸+
Bewerken Quote

Dikke zuigende database class.. Wat een kutscript..

Twylight
De eckte eckte
Geplaatst op: 09 Dec 2006, 21:53
PimpCoins: 0
💸+
Bewerken Quote

jij kan ook niet scripten saven!

Died
Geplaatst op: 09 Dec 2006, 22:59
PimpCoins: 0
💸+
Bewerken Quote

Twylight schreef:

jij kan ook niet scripten saven!

Nou...
Ik vind Deze versie er best mooi uit zien
Qua scripting dan he

Saven
admin
Geplaatst op: 10 Dec 2006, 00:18
PimpCoins: 0
💸+
Bewerken Quote

Webtijn schreef:

Dikke zuigende database class.. Wat een kutscript..

Jij kan al helemaal niet scripten nog nooit wat gezien van jou dus hou je mond maar

Twylight
De eckte eckte
Geplaatst op: 10 Dec 2006, 10:23
PimpCoins: 0
💸+
Bewerken Quote

Saven schreef:

[...]
Jij kan al helemaal niet scripten nog nooit wat gezien van jou dus hou je mond maar
het was ook een geintje

Twylight
De eckte eckte
Geplaatst op: 10 Dec 2006, 10:24
PimpCoins: 0
💸+
Bewerken Quote

Twylight schreef:

[...] het was ook een geintje
oh godverdomme dat was helemaal niet mijn quote

AfcAjax
Geplaatst op: 10 Dec 2006, 10:39
PimpCoins: 0
💸+
Bewerken Quote

Ziet er goed uit saven

Saven
admin
Geplaatst op: 10 Dec 2006, 10:48
PimpCoins: 0
💸+
Bewerken Quote

Twylight schreef:

[...] het was ook een geintje

Twylight
De eckte eckte
Geplaatst op: 10 Dec 2006, 11:33
PimpCoins: 0
💸+
Bewerken Quote

Saven schreef:

[...]

nee ik dacht dat e mij quote maar was niet zo

Rene
Professional
Geplaatst op: 10 Dec 2006, 12:25
PimpCoins: 0
💸+
Bewerken Quote

Saven schreef:

[...]
Jij kan al helemaal niet scripten nog nooit wat gezien van jou dus hou je mond maar

Mm.. als je nog nooit wat van hem gezien hebt ben je wel erg scheel
Webtijn is zowat even goed als Danny dus houdt maar snel op met je gezeur

Zelf kun je maar nét in nauwernood een Class scripten, een newb class.
Als je denkt dat jezelf eindelijk kunt scripten, en je laat dan zo'n scripting style zien met het smoesje het is 'oud', dan zou ik er maar snel iets aan gaan doen.

Even als dit stuk:

1
2
3
4
5
6
if( !$do )
        {
            $this->error('Fout tijdens quick-delete ('.$query.')');
            
            $do = FALSE;
        }

Je checkt of iets False is en geeft hem dan weer een gedefineerde waarde 'FALSE', terwijl die al False was omdat je daarop controleerde

[Laatst bewerkt door Rene op zondag 10 december 2006, om 12:34]
Webtijn
Geplaatst op: 10 Dec 2006, 12:33
PimpCoins: 0
💸+
Bewerken Quote

Saven schreef:

[...]
Jij kan al helemaal niet scripten nog nooit wat gezien van jou dus hou je mond maar

Hoe kan je zeggen dat ik niet kan scirpten als je nog nooit iets van mij gezien hebt?

Saven
admin
Geplaatst op: 10 Dec 2006, 12:39
PimpCoins: 0
💸+
Bewerken Quote

Rene schreef:

[...]
Mm.. als je nog nooit wat van hem gezien hebt ben je wel erg scheel
Webtijn is zowat even goed als Danny dus houdt maar snel op met je gezeur

Zelf kun je maar nét in nauwernood een Class scripten, een newb class.
Als je denkt dat jezelf eindelijk kunt scripten, en je laat dan zo'n scripting style zien met het smoesje het is 'oud', dan zou ik er maar snel iets aan gaan doen.

Even als dit stuk:
[...]

Je checkt of iets False is en geeft hem dan weer een gedefineerde waarde 'FALSE', terwijl die al False was omdat je daarop controleerde


ik zeg toch dat dat al een verouderde class van mij is, van zon 4 a 5 maanden terug

Webtijn
Geplaatst op: 10 Dec 2006, 12:41
PimpCoins: 0
💸+
Bewerken Quote

Saven schreef:

[...]
ik zeg toch dat dat al een verouderde class van mij is, van zon 4 a 5 maanden terug

Waarom post je dan niet de mysql class van SavenV4..? (Deze dus) Als je toch zo vrijgevig bent.. xD

Saven
admin
Geplaatst op: 10 Dec 2006, 12:43
PimpCoins: 0
💸+
Bewerken Quote

Webtijn schreef:

[...]

Waarom post je dan niet de mysql class van SavenV4..? (Deze dus) Als je toch zo vrijgevig bent.. xD


Waarom wel? Gaat niemand wat aan

Rene
Professional
Geplaatst op: 10 Dec 2006, 12:46
PimpCoins: 0
💸+
Bewerken Quote

Saven schreef:

[...]
Waarom wel? Gaat niemand wat aan

Je maakt ons nu wel érg nieuwsgierig.
Bang dat je toch weer wat steken hebt laten vallen?

Webtijn
Geplaatst op: 10 Dec 2006, 12:47
PimpCoins: 0
💸+
Bewerken Quote

Saven schreef:

[...]
Waarom wel? Gaat niemand wat aan

Waarom wel? Omdat je deze postte om mensen te helpen, maar help ze dan meteen goed en post een huidige, nette class die geen onnodige dingen heeft.

Saven
admin
Geplaatst op: 10 Dec 2006, 12:54
PimpCoins: 0
💸+
Bewerken Quote

Rene schreef:

[...]
Je maakt ons nu wel érg nieuwsgierig.
Bang dat je toch weer wat steken hebt laten vallen?

Webtijn schreef:

[...]

Waarom wel? Omdat je deze postte om mensen te helpen, maar help ze dan meteen goed en post een huidige, nette class die geen onnodige dingen heeft.


Nee, dit is toch geen scriptwebsite ofzo.. Dan zou ik me hele source wel weg kunnen geven om "mensen te helpen"

Askafa
Geplaatst op: 10 Dec 2006, 13:02
PimpCoins: 0
💸+
Bewerken Quote

Hahahah, webtijn, laat maar iets van jezelf zien ofzo.
Ga maar een forumscript ofzo maken en laat zien dan. een forum met AJAXCSS Valid en classes en fucking veel extra's.
Saven is het gelukt om een mooi forum in best wel korte tijd.
Dus bewijs het maar. En kom niet aanzetten met : Ik heb geen tijd of ik doe het niet ofzo. maar laat het gewoon zien!

Ik zei Ajax omdat die nuub van een webtijn zegt dat hij dat kan...

[Laatst bewerkt door Askafa op zondag 10 december 2006, om 13:38]
Rene
Professional
Geplaatst op: 10 Dec 2006, 13:12
PimpCoins: 0
💸+
Bewerken Quote

Askafa schreef:

Hahahah, webtijn, laat maar iets van jezelf zien ofzo.
Ga maar een forumscript ofzo maken en laat zien dan. een forum met AJAX en classes en fucking veel extra's.
Saven is het gelukt om een mooi forum in best wel korte tijd.
Dus bewijs het maar. En kom niet aanzetten met : Ik heb geen tijd of ik doe het niet ofzo. maar laat het gewoon zien!

Kuch, kuch, kuch.
Een forum is AJAX?, sorry hoor, maar volgens mij snap jij het begrip AJAX niet helemaal.

Ik heb zelf al een volledige site zowat in AJAX gescript en dat is al moeilijk genoeg, gelukkig zijn het eigen servers anders had ik nu dik veel geld op tafel kunnen leggen.

Webtijn is zeker wel een goede scripter, dus ga maar ergens anders huilen want Webtijn heeft inderdaad geen tijd.

Laat jij even een Forum gescript in Classes PHP5 i.s.m. AJAX en JavaScripting 2.0 zien aan mij, kijken of ik ook nog wat te lachen heb vandaag.

[Laatst bewerkt door Rene op zondag 10 december 2006, om 13:23]
📫

Nieuw privébericht

🔥

Registreren


Login