OOP User classe

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

.NET Developer

Functie omschrijving Jij gaat in de functie van Software Developer werken met C# en .NET framework. Jij gaat maatwerk software ontwikkelen en softwareoplossingen creëren. Daarnaast optimaliseer je de bestaande software. Oplossingen waar de klant echt iets aan heeft, jij krijgt er energie van op dit te realiseren. Je gaat werken in een Microsoft omgeving(ASP.NET) en gebruikt daarnaast C# en MVC. Samen met het huidige IT team binnen deze organisatie verwerk je de wensen van de klant tot een (eind)product. Bedrijfsprofiel Je komt te werken in een klein team van developers, die zich voornamelijk bezighouden met back-end development. Verder staat dit

Bekijk vacature »

Software Developer PHP JavaScript Python HBO SQL

Samengevat: Wij zijn een softwarebedrijf voor Autodealers. Ben jij een Medior of Senior Software Developer? Heb je ervaring met PHP, JavaScript of Python? Vaste baan: Java.Developer Software HBO €3.000 - €5.200 Bij ons op de werkvloer is er een positieve en informele sfeer. Naast een goede begeleiding en een enthousiaste klantenkring biedt deze werkgever een prettige omgeving met zeer afwisselende werkzaamheden. Houd jij van aanpakken en denk je dat je deze uitdaging aankunt? Dan zoeken wij jou! Zij werken voor grote klanten. Zij doen omvangrijke projecten die we bij deze werkgever op kantoor realiseren (geen detachering). Zij werken met state-of-the-art

Bekijk vacature »

Back End Developer .NET

Dit ga je doen Ontwikkelen in C# .NET en werken aan nieuwbouw, uitbouw en onderhoud van de software (die communiceren met 68.000 sensoren, waardoor er meerdere miljoenen berichten per uur verwerkt worden); Samenwerken in Scrum Teams; Meewerken aan verschillende, uitdagende projecten; Werken met nieuwe technologieën en vrijheid krijgen om jezelf te ontwikkelen en door te groeien. Hier ga je werken Je komt als Developer te werken bij een organisatie die gespecialiseerd is in software die real-time wordt gebruikt. De software constateert waar werk moet worden uitgevoerd en de chauffeurs worden met een andere applicatie hierop geattendeerd. Ook wordt er direct

Bekijk vacature »

Software Programmeur PHP - JAVA

Functie Wil jij bij een platte en informele organisatie werken? Lees dan snel verder! Voor een opdrachtgever in omgeving Rotterdam dat zich gespecialiseerd heeft in het realiseren van veilige netwerkverbindingen zijn wij op zoek naar een leuke software developer ter versterking van het huidige team. Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen PHP, JAVA en Node.js. Je gaat klanten ondersteunen op het gebied van geleverde software en webapplicaties. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn

Bekijk vacature »

Back-end PHP Software Developer - Juniorfunctie

Functieomschrijving Wij zijn op zoek naar een PHP Software Developer om ons team te versterken en mee te werken aan de ontwikkeling van eigen IOT-oplossingen. In deze functie ben je verantwoordelijk voor het bouwen van webapplicaties, apps en dashboards voor het uitlezen en managen van sensoren in machines. Je werkt nauw samen met een team van ontwikkelaars en engineers om de beste software-oplossingen te creëren. Jouw werkzaamheden zien er als volgt uit: Je bent in deze rol verantwoordelijk voor het ontwerpen, ontwikkelen en onderhouden van webapplicaties en softwaretoepassingen voor in-house ontwikkelde IOT oplossingen. Je werkt aan complexe databases en back-end

Bekijk vacature »

C# developer

Functie Als C# ontwikkelaar ben jij de spin in het web bij deze organisatie. Jij begeleidt en traint de field engineers die bij de klanten machines leveren en installeren. Daarnaast ondersteun jij de field engineers als zij bij de klant vastlopen bij het installeren van de machine m.b.t. software matige vragen. Jouw doel is dan ook om de technische kennis van de field engineers door middel van training zoveel mogelijk uit te breiden. Dit om ervoor te zorgen dat zij zelfstandiger software matige problemen kunnen oplossen. Ook ben jij verantwoordelijk voor het bedenken van software oplossingen voor klanten en dit

Bekijk vacature »

Senior Java Ontwikkelaar

Dit ga je doen Werken aan uiteenlopende interne projecten voor grote (internationale) organisaties; Ontwikkelen van diverse (web)applicaties en platformen met technieken als Java, Azure en ASP.NET; Complexe vraagstukken tackelen met jouw expertise en ervaring; Waar nodig help jij je collega's om samen tot de juiste oplossing te komen. Hier ga je werken Als Java Developer kom je te werken bij een internationale organisatie in regio Amsterdam die zich richt op procesoptimalisatie door middel van zeer complexe IT oplossingen. Dit doen zij op het allerhoogste niveau met vestigingen over heel de wereld en met een groot aantal aansprekende, maatschappelijk betrokken klanten.

Bekijk vacature »

Junior PHP Developer

Dit ga je doen Software development met behulp van C# .NET en / of PHP, je mag zelf kiezen waar jij je in wil specialiseren Meedenken over het nieuwe pakket, waar moet het aan voldoen? Unit-, integratie- en diverse andere tests schrijven en uitvoeren Nauw samenwerken met je IT collega's zoals Testers, Developers, DevOps Specialisten en Architecten Jezelf ontwikkelen met behulp van trainingen en cursussen Hier ga je werken Onze klant, een grote speler in de medische sector, is op zoek naar een enthousiaste junior (of meer ervaren) Software Developer die klaar is voor een nieuwe stap in zijn of

Bekijk vacature »

Laravel / PHP developer gezocht!

Functie omschrijving Wij zijn op zoek naar een Laravel PHP Developer voor een leuk bedrijf in de omgeving van Amsterdam! Je zult je bezig houden met de volgende werkzaamheden: Je gaat aan de hand van de wensen van klanten software ontwikkelen; Je bent bij het gehele proces betrokken; van A tot Z; Je hebt na de oplevering contact met de klant wanneer zij problemen ervaren; Je denkt mee over het verbeteren van de werkprocessen; Je denkt mee over softwareoplossingen; Je speelt in op de behoefte van de klant; Je houdt je bezig met het verbeteren, aanpassen en vernieuwen van de

Bekijk vacature »

Software ontwikkelaar

Ben jij graag bezig met verschillende projecten? Vind jij beleving van klanten én medewerkers ook belangrijk? Wij zijn vanwege de doorontwikkeling van het applicatielandschap van onze opdrachtgever op zoek naar een fulltime software ontwikkelaar. Omschrijving Jij en jouw collega’s zijn verantwoordelijk voor de continuïteit en waarborging van het applicatielandschap. Om de processen vloeiend te laten verlopen is software ontwikkeling daarom van essentieel belang. Onze opdrachtgever doet dit voornamelijk zelf, met door hun eigen ontwikkelde applicaties. Dit betekent dat jij: functionele eisen vertaalt naar gebruiksvriendelijke software; tijdens SCRUM sessies advies geeft over het te bouwen ontwerp; nieuwe software ontwikkelt en het

Bekijk vacature »

SAP Integratie Ontwikkelaar

Ben jij ambitieus in de verdere ontwikkeling van SAP binnen HANOS, en heb je kennis van SAP PI, CPI (SAP integration suite) en of andere middleware tooling? Dan ben jij mogelijk onze nieuwe SAP Integratie (middleware) Ontwikkelaar! Lees snel verder en solliciteer! Wat ga je doen? Als SAP Financieel Consultant ben je, als deel van een gedreven team van interne SAP consultants, de schakel tussen de gebruikersorganisatie en ICT. Je draagt proactief bij aan een optimale aansluiting van de SAP-functionaliteit (een applicatielandschap met o.a. Suite on HANA, Fiori, Hybris, C4C en BO), op de bedrijfsprocessen. Verder ondersteun je de HANOS

Bekijk vacature »

OutSystems developer

Dit ga je doen Klanten adviseren over de mogelijkheden van OutSystems; OutSystems oplossingen ontwikkelen en implementeren; Stakeholdermanagement; Kennis en expertise up to date houden en delen met het team. Hier ga je werken Onze opdrachtgever, gevestigd in regio Amsterdam, is een innovatieve dienstverlener die zich richt op grote corporates in verschillende sectoren. Doordat je bij veel verschillende klanten aan de slag zal gaan is geen enkel project hetzelfde. De organisatie kenmerkt zich door hoge mate van professionaliteit en innovatieve oplossingen. In de rol van OutSystems developer zal jij verschillende grote klanten helpen om efficiënte OutSystems oplossingen te ontwikkelen en implementeren.

Bekijk vacature »

Senior Cobol Applicatieontwikkelaar

Bedrijfsomschrijving De IV- organisatie van de Belastingdienst is verantwoordelijk voor en verzorgt de ICT- voorzieningen. Het merendeel van de applicaties wordt op dit moment door de IV- organisatie zelf ontwikkeld, onderhouden en beheerd in het eigen data center. Naast de zorg voor continuïteit op de massale heffing- en inningsprocessen die plaatsvinden binnen een degelijke, stabiele omgeving, wordt er tevens volop gewerkt aan modernisering van het IV- landschap. Dit gebeurt deels intern door gebruik te maken van de expertise die intern aanwezig is, maar ook door het aantrekken van (kant-en-klaar) oplossingen en expertise uit de markt. Functieomschrijving In de applicatie ETM

Bekijk vacature »

PHP back-end developer gezocht!

Functie Werk je liever zonder druk en keiharde deadlines maar met de focus op kwaliteit? Dan kom je hier op de juiste plek terecht! In Het team bestaat momenteel uit 12 developers, hiernaast werken er collega’s van front-end, UX maar ook marketing/sales en support. In iedere sprint ontwikkel je samen functionaliteiten met als uitdaging om de klanten de beste gebruikerservaring te bieden. Ze bieden een werkplek waar je jezelf kunt blijven ontwikkelen, en mee te werken aan zowel bestaande als nieuwe mogelijkheden. Eisen • HBO werk- en denkniveau (ze kijken niet naar een papiertje) • Je denkt graag mee over

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

26/04/2024 19:29:22
 
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.