[PHP] ledenlijst maken[TUT]

Gestart doorSmiegles10 reacties139 weergaven

11 berichten · pagina 1 van 1

Smiegles

Lid · Topicstarter

Berichten
4.912
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Dag mensjes .
hier even een snelle tut om een ledenlijst te maken
hier beginnen we natuurlijk mee

[COLOR= #0000BB]<?php[/COLOR] 

?>


nu gaan we een variable maken

[COLOR= #0000BB]<?php 
$sql[/COLOR] [COLOR= #007700]= ;[/COLOR]
?>


en daar hangen we een query aan vast

[COLOR= #0000BB]<?php 
$sql[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_query"]mysql_query[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]""[/COLOR][COLOR= #007700]);[/COLOR]
?>


we gaan de leden georderd bij DESC eruithalen maar bij ASC kan ook

[COLOR= #0000BB]<?php 
$sql[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_query"]mysql_query[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"SELECT * FROM users ORDER BY id DESC"[/COLOR][COLOR= #007700]);[/COLOR]
?>


heel simpel
nu halen we de bestanden eruit met een mysql_fetch_object
dat doe je zo

[COLOR= #0000BB]<?php 
$sql[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_query"]mysql_query[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"SELECT * FROM users ORDER BY id DESC"[/COLOR][COLOR= #007700]);[/COLOR]
[COLOR= #0000BB]$query[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_fetch_object"]mysql_fetch_object[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$sql[/COLOR][COLOR= #007700]);[/COLOR]
?>


nu zal er maar 1 gebruiker uit komen en wij willen ze allemaal.
dat doen we met een while

[COLOR= #0000BB]<?php 
$sql[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_query"]mysql_query[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"SELECT * FROM users ORDER BY id DESC"[/COLOR][COLOR= #007700]);[/COLOR]
[URL="http://www.php.net/while"]while[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$query[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_fetch_object"]mysql_fetch_object[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$sql[/COLOR][COLOR= #007700])) {

}[/COLOR]
?>


nu kun je alle leden in een rij echoén

[COLOR= #0000BB]<?php 
$sql[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_query"]mysql_query[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"SELECT * FROM users ORDER BY id DESC"[/COLOR][COLOR= #007700]);[/COLOR]
[URL="http://www.php.net/while"]while[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$query[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_fetch_object"]mysql_fetch_object[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$sql[/COLOR][COLOR= #007700])) {[/COLOR]
   [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #0000BB]$query[/COLOR][COLOR= #007700]->[/COLOR]naam[COLOR= #007700];[/COLOR]
   [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]<br />[/COLOR][COLOR= #007700];
}[/COLOR]
?>


Klaar je ledenlijst is af
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
Waarom een object maken?

mysql_fetch_assoc is een stuk sneller en beter.
0
Smiegles

Lid · Topicstarter

Berichten
4.912
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
ik vind object zelf mooier in een script maar ik wil assoc er wel in toevoegen als iemand daar behoeft aan heeft?
0
Berichten
1.579
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
[COLOR= #0000BB]<?php 
$sql[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_query"]mysql_query[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"SELECT * FROM users ORDER BY id DESC"[/COLOR][COLOR= #007700]);[/COLOR]
[URL="http://www.php.net/while"]while[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$query[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_fetch_assoc"]mysql_fetch_assoc[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$sql[/COLOR][COLOR= #007700])) {[/COLOR]
   [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #0000BB]$query[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]naam[/COLOR][COLOR= #007700]];[/COLOR]
   [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]<br />[/COLOR][COLOR= #007700];
}[/COLOR]
?>


Zoveel anders is het niet smile alleen is assoc wel beter..
0
Berichten
5.274
Reputatie
1
Punten
0,01
Lid sinds
Laatst gezien

Eindhoven, Nederland

ik gebruik altijd mysql_fetch_array en soms assoc, maar die roep je het zelfde aan met $query[test] redface
0
Berichten
5.957
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Snabbotube schreef:
ik gebruik altijd mysql_fetch_array en soms assoc, maar die roep je het zelfde aan met $query[test] redface
Array is 2x zo traag als assoc.
0
Fass

Lid

Berichten
3.771
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Lijkt me eerder dat het meer ruimte inneemt omdat er een extra pointer is als hij op MYSQL_BOTH staat.

Als array 2x zo traag zou zijn zou dat betekenen dat het informatie halen uit de database geen tijd kost.
0
Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
[COLOR= #0000BB]<?php 
$ledenQuery[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_query"]mysql_query[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"SELECT * FROM users ORDER BY rank, naam DESC"[/COLOR][COLOR= #007700]);[/COLOR]

[URL="http://www.php.net/while"]while[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$ledenFetch[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_fetch_assoc"]mysql_fetch_assoc[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$ledenQuery[/COLOR][COLOR= #007700])){[/COLOR]
    [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #0000BB]$ledenFetch[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]naam[/COLOR][COLOR= #007700]] .[/COLOR] [COLOR= #DD0000]<br />[/COLOR][COLOR= #007700];
}[/COLOR]
?>


Dat zou ik doen emo
E; Alleen meestal gebruik ik een MySQL class
0
Berichten
6.722
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Of je gebruikt PDO. Dat is veel beter. En ik denk niet dat iemand die niet weet hoe dit moet dit zal begrijpen.
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
Wiitse schreef:
Of je gebruikt PDO. Dat is veel beter. En ik denk niet dat iemand die niet weet hoe dit moet dit zal begrijpen.
PDO is iets wat je vanaf het begin van je systeem al moet gebruiken. Niet voor een aparte addon. Dat werkt echt voor geen meter.
0
Berichten
6.485
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Rik schreef:
Waarom een object maken?

mysql_fetch_assoc is een stuk sneller en beter.
Ben ik niet mee eens, bijna alle programmeertalen zijn object georiënteerd. Klopt assoc is misschien iets sneller. Maar voor het gedeelte "beter" zie ik geen bewijs. Als je meerdere programemertalen kent/ wilt gaan leren. Is het (vind ik) handiger om mysql_fetch_object te maken.

En @deze tut.

Ik denk dat het handig is als je het als een functie schrijft (niet omdat de query oid zo ingewikkeld is) maar omdat een ledensysteem vaak in classes staat.

[COLOR= #0000BB]<?php[/COLOR]
[URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] SelectMembers[COLOR= #007700]()
{[/COLOR]
    [COLOR= #0000BB]$Sql[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]SELECT name FROM `members` ORDER BY [/COLOR]id ASC[COLOR= #007700];[/COLOR]
        
    [COLOR= #0000BB]$Result[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_query"]mysql_query[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$Sql[/COLOR][COLOR= #007700])[/COLOR] or [URL="http://www.php.net/die"]die[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/mysql_error"]mysql_error[/URL][COLOR= #007700]());[/COLOR]

    [URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/mysql_num_rows"]mysql_num_rows[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$Result[/COLOR][COLOR= #007700]) !==[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700]) 
    {[/COLOR]
        [URL="http://www.php.net/while"]while[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$Row[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_fetch_object"]mysql_fetch_object[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$Result[/COLOR][COLOR= #007700]))
        {[/COLOR]
            [COLOR= #0000BB]$Members[/COLOR][COLOR= #007700][] =[/COLOR] [COLOR= #0000BB]$Row[/COLOR][COLOR= #007700];
        }[/COLOR]
        
        [URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$Members[/COLOR][COLOR= #007700];        
    }[/COLOR]
    [URL="http://www.php.net/else"]else[/URL] 
    [COLOR= #007700]{[/COLOR]
        [URL="http://www.php.net/return"]return[/URL] false[COLOR= #007700];
    }
}[/COLOR]
?>


[COLOR= #0000BB]<?php
$Result[/COLOR] [COLOR= #007700]=[/COLOR] SelectMembers[COLOR= #007700]();[/COLOR]

[URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$Result[/COLOR] [COLOR= #007700]!===[/COLOR] false[COLOR= #007700]) {[/COLOR]
    [URL="http://www.php.net/foreach"]foreach[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$Result[/COLOR] [COLOR= #007700]as[/COLOR] [COLOR= #0000BB]$Data[/COLOR][COLOR= #007700]) {[/COLOR]
        [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #0000BB]$Data[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]0[/COLOR][COLOR= #007700]]->[/COLOR]name[COLOR= #007700].[/COLOR][COLOR= #DD0000]<br />[/COLOR][COLOR= #007700];
    }
}[/COLOR]
?>


Het klopt, deze code is een stuk langer (zit ook extra beveiliging omheen). Maar in grote systemen vind ik dit een stuk overzichtelijker.
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren