OOP User classe

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Remote - Front-end Angular developer

Functie The IT team currently consists of the IT Manager, 2 back-end developers, 1 full-stack developer, 1 designer, and a DevOps engineer. They are currently looking for an experienced Front-end developer who will work autonomously and in a disciplined manner, being the only developer working on their Front-end applications at the start. They do have the ambition to find a second developer soon, who you will then be able to supervise. You will be working on the further development of their existing UI in Angular. But also developing a mobile app. They place great value on User Experience and opt

Bekijk vacature »

No-Code Betty Blocks ontwikkelaar

Bedrijfsomschrijving Wil jij de bedrijfsprocessen van klanten revolutionair digitaliseren en optimaliseren zonder beperkt te worden door programmeertalen? Kom werken bij een snelgroeiende en professionele organisatie met een gezonde dosis humor en veel vrijheid om jezelf te ontwikkelen. Als No-Code Betty Blocks ontwikkelaar werk je vanuit ons kantoor in het hart van Nederland, je thuiswerkplek of op locatie bij de klant. We faciliteren de juiste trainingen en ondersteuning zodat je een echte Betty Blocks expert wordt. Naast het werk zijn er bij ons bijzondere events, zoals een jaarlijkse zeildag, een zomerse barbecue en een knus kerstdiner om de grillige maanden door

Bekijk vacature »

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Software Developer

Bij een bedrijf in de machinebouw, regio Roosendaal, zijn we op zoek naar een: Software Developer Waar ga je werken? Onze opdrachtgever is gespecialiseerd in de grondverzetmachines. Al meer dan 50 jaar leveren ze zowel nationaal als internationaal diverse machines. Het is een familiebedrijf met een informele werksfeer. Wat ga je doen? Als Software Developer je verantwoordelijk voor: - Je werkt voortdurend aan oplossingen voor het op afstand bewaken en besturen van oogstmachines; - Het visualiseren van gegevens in rapporten, apps of andere formaten; - Voorspellend machineonderhoud; - Taakplanning; - Je schrijft aangepaste plug-ins om gegevens te importeren of exporteren

Bekijk vacature »

Java Developer bij een jonge groeiende organisatie

Bedrijfsomschrijving Vind jij het als Java developer ook zo belangrijk dat een bedrijf je de ruimte en tijd geeft voor persoonlijke ontwikkeling? Dan zit je hier helemaal goed. Deze jonge organisatie is opgericht in 2018 en is ondertussen uitgegroeid tot een club van ongeveer 30 medewerkers. Het gaat hier om een echte Java club, die vrijheid en verantwoordelijkheid erg belangrijk vinden. Het bedrijf heeft een informele sfeer en de teams zijn erg hecht met elkaar. Ze delen graag de kennis en ervaringen met anderen, maar vinden andermans mening ook zeer belangrijk. De organisatie zet zich in voor ontwikkeling en besteed

Bekijk vacature »

PHP Laravel developer

Functie omschrijving Weet jij alles van Laravel en krijg je energie van het ontwikkelen van software hiermee? Laat snel wat van je horen want wij zoeken een PHP/Laravel developer in regio 's-Hertogenbosch. Jouw taken zullen bestaan uit: Softwareapplicaties ontwikkelen en verder optimaliseren in veel diverse projecten op basis van Agile/Scrum. Uitleg geven over software en applicaties Klantcontact hebben over bestaande applicaties. Documentatie schrijven over applicaties. Techstack: PHP, Laravel, HTML, CSS, Javascript. Bedrijfsprofiel Deze organisatie zit in de regio van 's-Hertogenbosch en is een klein softwarebedrijf. Er werken ongeveer 15 medewerkers, verdeeld in meerdere teams, zoals back-end en front-end development, projectmanagement

Bekijk vacature »

C# Developer

Functie omschrijving Voor een softwarebedrijf in de omgeving van Veghel zijn we op zoek naar een C# developer. Word jij blij van ontwikkelen in C# en .NET? Lees dan snel verder! Jouw werkzaamheden zullen er als volgt uit gaan zien: Door middel van ASP.NET, MVC Framework en C# ga je webshops, websites en webapplicaties ontwikkelen. Je zorgt voor de optimalisatie van bestaande software en de automatisering van bedrijfsprocessen. Op basis van de wensen van de klant ga je samen met je collega's ga je op zoek naar de juiste oplossingen en je gaat dit uitwerken tot een mooi eindproduct. Bedrijfsprofiel

Bekijk vacature »

Mendix Developer

Functie Wat ga je doen als Mendix Developer? We leven in een wereld die snel ontwikkelt en veranderd, ook nemen bedrijfsbelangen toe en blijken risico’s moeilijker in te schatten, daarom wij op zoek naar Junior, Medior en Senior Developers die bedrijven kunnen helpen met hun screeningproces en zorgen dat deze efficiënt en 100 procent AVG compliant is. Het concept achter Mendix is duidelijk. De klant heeft een vraag/probleem. Dit kunnen we door middel van slimme software oplossen. In plaats van te werken met de nieuwste technieken en tools, wordt er gekozen voor het implementeren en maken van software dat op

Bekijk vacature »

Medior PHP Developer

Bij Getnoticed doen wij wat we leuk vinden, websites bouwen en online marketing. Voor veel van onze klanten doen we dan ook allebei. Wel zo fijn om campagnes te draaien voor conversiegerichte website die in eigen beheer zijn. In onze vestiging in Nederweert zitten onze development afdelingen en worden de websites gebouwd. Op dit moment zijn we op zoek naar jou: dé PHP/Back-end developer die net als wij, het hoofd boven het maaiveld durft uit te steken! In het kort Even een paar punten die omschrijven wat deze toffe baan inhoudt: Het bedenken van nieuwe functionaliteiten Het verbeteren van het

Bekijk vacature »

Traineeship Full Stack .NET Developer

Dit ga je doen Start op 7 augustus 2023 bij de Experis Academy en ontwikkel jezelf tot een gewilde Full Stack .NET Developer. Maar hoe ziet het traineeship eruit en wat kun je verwachten? Periode 1 De eerste 3 maanden volg je fulltime, vanuit huis, een op maat gemaakte training in teamverband. Je leert belangrijke theorie en krijgt kennis van de benodigde vaardigheden en competenties die nodig zijn om de IT-arbeidsmarkt te betreden. Zowel zelfstandig als in teamverband voer je praktijkopdrachten op het gebied van front- en backend development uit. Wat er per week op het programma staat kun je

Bekijk vacature »

Lead Java Developer

Dit ga je doen Je taken bestaan onder andere uit: Het aansturen van een development team bestaande uit 8 collega's op technisch maar ook HR gebied; Het maken van strategische keuzes omtrent de (nieuw)bouw van deze applicatie; Het maken van technische ontwerpen; Hands-on mee ontwikkelen met het team (met o.a. Java, Spring, Angular, REST); Reviewen van code en feedback geven op collega developers. Hier ga je werken Als Lead Software Developer ben je verantwoordelijk voor één van de vier Agile Java ontwikkelteams die bouwen aan technologie die duizenden instanties wereldwijd verbindt. Dit Agile team, data Jira en Confluence gebruikt en

Bekijk vacature »

.NET developer

Functie Als .NET developer wordt jij onderdeel van ons ICT team. In dit multidisciplinaire team ben jij samen met onze senior .NET ontwikkelaar en medior .NET ontwikkelaar verantwoordelijk voor ons ERP systeem. In dit systeem (Navision) ga jij leren ontwikkelen. Wij bieden jou dan ook een gedegen opleiding aan, samen met de ondersteuning van onze Senior .NET developer. Daarnaast ga jij aan de slag met ons portaal geschreven in Sharepoint. Verder ben jij verantwoordelijk voor EDI verkeer en het ontwikkelen binnen het ERP systeem en andere toepassingen en rapportages. Van jou wordt verwacht dat jij het proces goed leert kennen

Bekijk vacature »

Back end developer PHP

Functie Met een complex en uitgebreid e-commerce platform, een eigen PIM-systeem en eigen scan applicatie – krijg jij dagelijks te zien hoe jouw werk gebruikt wordt door miljoenen gebruikers. En we staan qua development pas in de startblokken, aangezien er nog meerdere projecten op de plank liggen te wachten! Ons huidige development team bestaat uit 8 programmeurs. Er wordt dagelijks gereflecteerd op geschreven code, Scrum taken en kennisdelen onderling is een must. Onze voertaal binnen ons team is Engels, dit omdat wij twee internationale collega’s hebben. Ons huidige “IT Landschap” bestaat voornamelijk uit allerlei losse onderdelen die individueel, maar ook

Bekijk vacature »

Klein team zoekt grote fullstack .NET developer to

Bedrijfsomschrijving Deze werkgever is marktleider in de Benelux en is Europees ook al aardig aan de weg aan het timmeren. Ze voorzien technische winkels van apparatuur om producten een langer leven te geven. Hiermee reduceren ze flink wat CO2 uitstoot en dat is natuurlijk goed voor iedereen! IT speelt een belangrijke rol in de bedrijfsvoering en de applicaties zijn van goed niveau. Als fullstack .NET developer ga jij je bijdrage leveren aan het verder verbeteren van de applicaties en de interne processen. Ze zijn nu met ruim 50 medewerkers in totaal en de afdeling development bestaat uit een 5tal developers.

Bekijk vacature »

Pagina: « vorige 1 2 3 4 volgende »

Mike Smit

Mike Smit

28/12/2010 20:36:39
Quote Anchor link
Ik bedoelde het ook niet negatief en ik dacht ook niet dat jij het negatief bedoelde (wat een zin). Ik bevestigde alleen dat het inderdaad wel eens prettig is als iemand laat weten dat je trots op je werk mag zijn. :P
Gewijzigd op 28/12/2010 20:37:00 door Mike Smit
 
PHP hulp

PHP hulp

23/11/2024 23:14:58
 
The Ultimate

The Ultimate

28/12/2010 20:49:45
Quote Anchor link
@Niels:
Ik heb inmiddels een begin gemaakt in het database script dat jij mij had voorgeschoteld. Voor het overzicht heb ik even de andere databasetypes eruit gesloopt.

Ik merk alleen toch dat ik er niet helemaal uitkom. Ik mis namelijk de database connectie in met name de MySQLResult class. Moet ik deze telkens opnieuw opzetten? Lijkt me niet toch? Hoe kan ik de db_connectie meenemen?

En kun je mij laten weten of het de juiste kant op gaat of dat het toch anders moet?

Hier is wat ik tot nog toe heb:
Code (php)
PHP script in nieuw venster Selecteer het PHP 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
<?php

/*****
*
*    Class - Database
*
*    Deze class handelt de communicatie met de MySQL Database af.
*    De methods kunnen verder worden uitgebreid.
*
*    ------------------------------------------------------------
*
*
*
*****/


interface Database
{
    public function connect($host, $gebruikersnaam, $wachtwoord, $naam);
    public function query($query);
}

  
interface DatabaseResult
{
    public function fetch_assoc($sql);
    public function fetch_alles($sql);
    public function aantal_regels($sql);
}

  
class MySQL implements Database
{
    private $db_connection;
  
    public function connect($host, $gebruikersnaam, $wachtwoord, $naam)
    {

        // Verbinding maken met de database
        $this->db_connection = mysql_connect($host,$gebruikersnaam,$wachtwoord,$naam);
    }

  
    public function query($query)
    {

        return mysql_query($query);
    }
}

  
class MySQLResult implements DatabaseResult
{
    private $result;
  
    public function fetch_assoc($sql)
    {

        $db = new MySQL;
        $res = $db->query($sql);
        return $this->result = mysql_fetch_assoc($res);
    }

  
    public function fetch_alles($sql)
    {

        $db = new MySQL;
        $res = $db->query($sql);
        return $this->result = mysql_fetch_array($res);
    }

  
    public function aantal_regels($sql)
    {

        $db = new MySQL;
        $res = $db->query($sql);
        return $this->result = mysql_fetch_row($res);
    }
}

?>


test.php:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php

#===== Database Settings =====#
define('DB_HOST',                            'db.*****.nl');    // Database host
define('DB_USER',                            '*******');    // Database username
define('DB_PASS',                            '*******');        // Database password
define('DB_DB',                                '*******');    // Database name

include('class/database.class.php');

$db = new MySQL;
$db->connect(DB_HOST,DB_USER,DB_PASS,DB_DB);

?>


En wat mij betreft mag je rustig in dit topic doorgaan of de dependencies. Geen enkel probleem! Ik leer er erg veel van.
Gewijzigd op 28/12/2010 20:51:53 door The Ultimate
 
Niels K

Niels K

28/12/2010 20:53:57
Quote Anchor link
Een vraag, wat heeft de connectie met een resultaat set te maken?

Ik zal eerst alles eens in word uittypen over di(c). Zal in de loop van de week wel een uitleg geven wordt denk ik vandaag niets meer.

Maar goed inhoudelijk op jouw klasse nu:

- Bij de methode connect mis ik fouten afhandeling, plus het selecteren van de database (mysql_select_db)

En zoals ik al zei, resultaat set heeft niets met de query zelf te maken, alleen wat eruit komt.

Daarom klopt fetch_* methodes niet. Die hoeven helemaal niks met de database connectie te doen. Ze moeten alleen het resultaat set tot hun beschikking hebben. Dit moet je oplossen in de methode query.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
public function query( $query )
{

    $result = mysql_query( $query );
    if( !$result ) {
        throw new DatabaseException( ' .... ' );
    }

    return new MySQLResult( $result ); // Hier gaat het dus om
}
Gewijzigd op 28/12/2010 20:59:39 door Niels K
 
The Ultimate

The Ultimate

28/12/2010 20:57:28
Quote Anchor link
Niels Kieviet op 28/12/2010 20:53:57:
Een vraag, wat heeft de connectie met een resultaat set te maken?
Niets? Dat is denk ik het antwoord? Ik moet dus niet de resultaat set ophalen in de MySQLResult class, maar in de MySQL class. Hmmm.... tricky. Ben zo terug. Hoe haal ik nou een resultaat set op zonder db_connectie?

Niels Kieviet op 28/12/2010 20:53:57:
Ik zal eerst alles eens in word uittypen over di(c). Zal in de loop van de week wel een uitleg geven wordt denk ik vandaag niets meer.
We wachten rustig af. ;-)
Gewijzigd op 28/12/2010 20:59:17 door The Ultimate
 
Niels K

Niels K

28/12/2010 21:00:03
Quote Anchor link
Bekijk mijn edit ;-) En probeer het nogmaals
Gewijzigd op 28/12/2010 21:00:33 door Niels K
 
Jasper DS

Jasper DS

28/12/2010 21:03:49
Quote Anchor link
Niels Kieviet op 28/12/2010 20:53:57:
Ik zal eerst alles eens in word uittypen over di(c). Zal in de loop van de week wel een uitleg geven wordt denk ik vandaag niets meer.


vergeet het dan niet op het forum te zetten want ik probeer ook te volgen.. :)
 
Niels K

Niels K

28/12/2010 21:18:36
Quote Anchor link
Haha, is goed komt voor elkaar heb al een klein stuk geschreven.
 
The Ultimate

The Ultimate

28/12/2010 21:19:07
Quote Anchor link
Ok, foutafhandeling toegevoegd en de database-aanroepen eruit gesloopt. Snap alleen niet goed hoe ik nu een resultaat weer kan geven (echoen) in test.php
Code (php)
PHP script in nieuw venster Selecteer het PHP 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
<?php

/*****
*
*    Class - Database
*
*    Deze class handelt de communicatie met de MySQL Database af.
*    De methods kunnen verder worden uitgebreid.
*
*    ------------------------------------------------------------
*
*****/


interface Database
{
    public function connect($host, $gebruikersnaam, $wachtwoord, $naam);
    public function query($query);
}

  
interface DatabaseResult
{
    public function fetch_assoc();
    public function fetch_alles();
    public function aantal_regels();
}

  
class MySQL implements Database
{
    private $db_connection;
  
    public function connect($host, $gebruikersnaam, $wachtwoord, $naam)
    {

        // Verbinding maken met de database
        $result = mysql_connect($host,$gebruikersnaam,$wachtwoord);
        if(!$result) {
            echo 'Er is een fout opgetreden tijdens het verbinden met de database: '.mysql_error();
        }
else {
            // Selecteer database
            $result = mysql_select_db($naam);
            if(!$result) {
                echo 'Er is een fout opgetreden tijdens het selecteren van de database: '.mysql_error();
            }
        }
    }

    
    public function query($query)
    {

        $result = mysql_query($query);
        if(!$result) {
            throw new DatabaseException( 'Er is een fout opgetreden tijdens het uitvoeren van een databasequery: '.mysql_error());
        }

        return new MySQLResult($result); // Hier gaat het dus om
    }
}

  
class MySQLResult implements DatabaseResult
{
    private $result;
  
    public function fetch_assoc()
    {

        $this->result = mysql_fetch_assoc($result);
    }

  
    public function fetch_alles()
    {

        $this->result = mysql_fetch_array($result);
    }

  
    public function aantal_regels()
    {

        $this->result = mysql_fetch_row($result);
    }
}

?>
Gewijzigd op 28/12/2010 21:28:37 door The Ultimate
 
Niels K

Niels K

28/12/2010 21:37:36
Quote Anchor link
Je result klasse is nog niet goed. Hij moet nog een constructor hebben voor het opvangen van het resultaat van de query.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
public function __construct( $result )
{

    $this->result = $result;
}

?>


En je resultaat methodes moet het resultaat van de query niet aanpassen, nee ze moeten alleen met informatie retourneren.

dus fetch_assoc wordt bijvoorbeeld zo:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
public function fetch_assoc( )
{

    return mysql_fetch_assoc( $this->resultaat );
}

?>


Snap je?

Je connectie methode kan nog beter:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php

public function connect( $host, $gebruikersnaam, $wachtwoord, $naam )
{

        // Verbinding maken met de database
        if(!( $this->db_connection = mysql_connect( $host,$gebruikersnaam,$wachtwoord ) ) ) {
            throw new DatabaseException( 'Er is een fout opgetreden tijdens het verbinden met de database: '.mysql_error( ) );

    // Selecteer database
        if( !mysql_select_db( $naam ) ) {
                throw new DatabaseException( 'Er is een fout opgetreden tijdens het selecteren van de database: '.mysql_error( ) );
            }
        }
    }

?>


Het gebruik is heel simpel:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
// Insert query
$query = "INSERT INTO tabel ( 1, 2, 3, 4, 5 ) VALUES ( enz ) ";
$this->database->query($query);

// Select query
$query = "SELECT enz....";
$elementen = $this->database->query( $query )->fetch_alles( );
foreach( $elementen as $element ) {
    // rest van je code
}
Gewijzigd op 28/12/2010 21:40:09 door Niels K
 
The Ultimate

The Ultimate

28/12/2010 21:55:42
Quote Anchor link
Ok, dit is het script tot nog toe. Krijg nu wel een error:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /public/sites/www.******.nl/class/database.class.php on line 68
Warning: Invalid argument supplied for foreach() in /public/sites/www.*******.nl/test.php on line 24

Dit is een error die volgens mij wordt veroorzaakt door een lege resultset. Kan dat kloppen? De database + velden kloppen en er staan ook gegevens in de db.

test.php
Code (php)
PHP script in nieuw venster Selecteer het PHP 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
<?php

#===== Database Settings =====#
define('DB_HOST',                            'db.******.nl');    // Database host
define('DB_USER',                            '******');    // Database username
define('DB_PASS',                            '******');        // Database password
define('DB_DB',                                '******');    // Database name

include('class/database.class.php');

// Creeer object database
$db = new MySQL;

// Maak connectie met en selecteer de database
$db->connect(DB_HOST,DB_USER,DB_PASS,DB_DB);

// Insert query
//$query = "INSERT INTO tabel ( 1, 2, 3, 4, 5 ) VALUES ( enz ) ";
//$this->database->query($query);

// Select query

$sql = "SELECT email FROM user";
$elementen = $db->query($sql)->fetch_alles();
foreach($elementen as $element){
    // rest van je code
    echo $element;
}

?>


database.class.php:
Code (php)
PHP script in nieuw venster Selecteer het PHP 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
<?php

/*****
*
*    Class - Database
*
*    Deze class handelt de communicatie met de MySQL Database af.
*    De methods kunnen verder worden uitgebreid.
*
*    ------------------------------------------------------------
*
*****/


interface Database
{
    public function connect($host, $gebruikersnaam, $wachtwoord, $naam);
    public function query($query);
}

  
interface DatabaseResult
{
    public function fetch_assoc();
    public function fetch_alles();
    public function aantal_regels();
}

  
class MySQL implements Database
{
    private $db_connection;
  
    public function connect($host, $gebruikersnaam, $wachtwoord, $naam)
    {

        // Verbinding maken met de database
        if(!($this->db_connection = mysql_connect($host, $gebruikersnaam, $wachtwoord))) {
            throw new DatabaseException('Er is een fout opgetreden tijdens het verbinden met de database: '.mysql_error());
        }

        // Selecteer database
        if(!mysql_select_db($naam)) {
            throw new DatabaseException('Er is een fout opgetreden tijdens het selecteren van de database: '.mysql_error());
        }
    }


    public function query($query)
    {

        if(!mysql_query($query)) {
            throw new DatabaseException('Er is een fout opgetreden tijdens het uitvoeren van een databasequery: '.mysql_error());
        }

        return new MySQLResult($result);
    }
}

  
class MySQLResult implements DatabaseResult
{
    private $result;

    public function __construct($result)
    {

        $this->result = $result;
    }


    public function fetch_assoc()
    {

        return mysql_fetch_assoc($this->result);
    }

  
    public function fetch_alles()
    {

        return mysql_fetch_array($this->result);
    }

  
    public function aantal_regels()
    {

        return mysql_fetch_row($this->result);
    }
}

?>
Gewijzigd op 28/12/2010 21:56:37 door The Ultimate
 
Niels K

Niels K

28/12/2010 22:03:04
Quote Anchor link
Maak daar dit eens van:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php

public function fetch_alles( )
{

    $result = array( );
    while( $row = $this->fetch_assoc( ) ) {
        $result[] = $row;
    }

    return $result;
}

?>


aantal_regels klopt overigens ook niet hoor ;) Kan je gewoon gebruik maken van mysql_num_rows
Gewijzigd op 28/12/2010 22:04:01 door Niels K
 
The Ultimate

The Ultimate

28/12/2010 22:08:15
Quote Anchor link
Dan krijg ik deze error:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /public/sites/www.****.nl/class/database.class.php on line 63

Wat nogal raar is want regel 63 is in de method fetch_assoc die helemaal niet aangeroepen wordt. We roepen fetch_alles() aan...Ik zie dat je daarin fetch_assoc aanroept. Oeps. Wel wazig die error...
Gewijzigd op 28/12/2010 22:09:49 door The Ultimate
 
Niels K

Niels K

28/12/2010 22:11:01
Quote Anchor link
Ja maar fetch_assoc wordt aangeroepen in de while ;)

ik zie hem overigens ;) hij zit in de methode query. Je controleert wel of de query is gelukt, en je maakt een nieuwe instantie van MySQLResult maar je geeft geen resultaat mee als param. Krijg je daar geen errors over?
 
The Ultimate

The Ultimate

28/12/2010 22:16:16
Quote Anchor link
Thanks, het moet natuurlijk dit zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
    public function query($query)
    {

        if(!mysql_query($query)) {
            throw new DatabaseException('Er is een fout opgetreden tijdens het uitvoeren van een databasequery: '.mysql_error());
        }
else {
            $result = mysql_query($query);
        }
        
        return new MySQLResult($result);
    }

?>

Kreeg daar overigens geen errors over.

Nu lekker naar bedje toe. Morgenochtend ga ik weer vroeg verder met de authentication class zoals jij mij die uitlegde. Bedankt voor de hulp alvast voor zover.

Voor de geïnteresseerden volgt hier het volledige script:

database.class.php:
Code (php)
PHP script in nieuw venster Selecteer het PHP 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
<?php

/*****
*
*    Class - Database
*
*    Deze class handelt de communicatie met de MySQL Database af.
*    De methods kunnen verder worden uitgebreid.
*
*    ------------------------------------------------------------
*
*****/


interface Database
{
    public function connect($host, $gebruikersnaam, $wachtwoord, $naam);
    public function query($query);
}

  
interface DatabaseResult
{
    public function fetch_assoc();
    public function fetch_alles();
    public function aantal_regels();
}

  
class MySQL implements Database
{
    private $db_connection;
  
    public function connect($host, $gebruikersnaam, $wachtwoord, $naam)
    {

        // Verbinding maken met de database
        if(!($this->db_connection = mysql_connect($host, $gebruikersnaam, $wachtwoord))) {
            throw new DatabaseException('Er is een fout opgetreden tijdens het verbinden met de database: '.mysql_error());
        }

        // Selecteer database
        if(!mysql_select_db($naam)) {
            throw new DatabaseException('Er is een fout opgetreden tijdens het selecteren van de database: '.mysql_error());
        }
    }


    public function query($query)
    {

        if(!mysql_query($query)) {
            throw new DatabaseException('Er is een fout opgetreden tijdens het uitvoeren van een databasequery: '.mysql_error());
        }
else {
            $result = mysql_query($query);
        }
        
        return new MySQLResult($result);
    }
}

  
class MySQLResult implements DatabaseResult
{
    private $result;

    public function __construct($result)
    {

        $this->result = $result;
    }


    public function fetch_assoc()
    {

        return mysql_fetch_assoc($this->result);
    }

  
    public function fetch_alles()
    {

        return mysql_fetch_array($this->result);
    }

  
    public function aantal_regels()
    {

        return mysql_fetch_row($this->result);
    }
}

?>


test.php:
Code (php)
PHP script in nieuw venster Selecteer het PHP 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
<?php

#===== Database Settings =====#
define('DB_HOST',                            'db.*****.nl');    // Database host
define('DB_USER',                            '.*****.');    // Database username
define('DB_PASS',                            '.*****.');        // Database password
define('DB_DB',                                '.*****.');    // Database name

include('class/database.class.php');

// Creeer object database
$db = new MySQL;

// Maak connectie met en selecteer de database
$db->connect(DB_HOST,DB_USER,DB_PASS,DB_DB);

// Insert query
$query = "INSERT INTO user (email) VALUES ('[email protected]')";
$db->query($query);

// Select query
$sql = "SELECT email FROM user";
$elementen = $db->query($sql)->fetch_alles();
foreach($elementen as $element){
    // rest van je code
    echo $element;
}

?>
Gewijzigd op 28/12/2010 22:19:30 door The Ultimate
 
Mike Smit

Mike Smit

28/12/2010 22:18:12
Quote Anchor link
Serieus op PHPhulp moet een mogelijkheid komen om direct naar de laatste reactie te gaan. Ongelofelijk ik probeer dit topic te volgen maar moet elke keer helemaal naar de footer van de pagina toe.
 
Niels K

Niels K

28/12/2010 22:18:12
Quote Anchor link
Kan ja maar dit is natuurlijk mooier en korter want nu voer je twee keer de query uit.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
    public function query($query)
    {

        if(!$result = mysql_query($query)) {
            throw new DatabaseException('Er is een fout opgetreden tijdens het uitvoeren van een databasequery: '.mysql_error());  
        return new MySQLResult($result);
    }


?>


Quote:
Serieus op PHPhulp moet een mogelijkheid komen om direct naar de laatste reactie te gaan. Ongelofelijk ik probeer dit topic te volgen maar moet elke keer helemaal naar de footer van de pagina toe.

Maak er een topic over?
Gewijzigd op 28/12/2010 22:19:07 door Niels K
 
Mike Smit

Mike Smit

28/12/2010 22:21:56
Quote Anchor link
Werkt dat denk je?
 
Niels K

Niels K

28/12/2010 22:23:15
Quote Anchor link
Dat zou moeten werken ;) Maar de geruchten gaan rond dat bas niet actief aan phphulp zit. Heb zelf vorige week een mailtje gestuurd dat ik mijn eigen tutorial niet meer kon wijzigen en of hij dat kon openzetten, maar nog steeds geen reactie gehad..
 
The Ultimate

The Ultimate

28/12/2010 22:24:47
Quote Anchor link
@Niels:
Aangepast. Bedankt.

Overigens geeft de query maar 2 resultaten weer, terwijl de database veel voller staat dan dat. Dit zou toch alle e-mailadressen moeten weergeven?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
// Select query
$sql = "SELECT email FROM user";
$elementen = $db->query($sql)->fetch_alles();
foreach($elementen as $element){
    // rest van je code
    echo $element;
}

?>
 
Niels K

Niels K

28/12/2010 22:27:51
Quote Anchor link
Oh het zou moeten werken!? Wat is de totale code tot nu toe?
 

Pagina: « vorige 1 2 3 4 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.