Unbuffered query snippertje
Handige functie die MySQL data direct in array kan gooien met enkele opties. Direct uit mn classes script geplakt. Deze functie maakt deel uit van mijn MySQL class en mysql_connect erboven geplakt.
LET OP: maakt gebruik van UNBUFFERED QUERY
bedoeld voor het ophalen van grote lijsten met data zoals lijsten met forum posts of topics.
Omdat
letterlijk van mijn reference: ( originele / uitgebreide OMSCHRIJVING )
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
functie om grote array's aan data binnen te halen met een unbuffered query.
=============================
========input================
=============================
$query = de query uiteraard.
$indexkey (optioneel) (DEFAULT: false) = de naam van de kolom in de query die gebruikt moet worden als de key in een array.
Indien er maar 2 kolommen worden opgevraagt (zie voorbeeld 2) en 1 van deze 2 kolommen is de indexkey,
dan zal er achter de indexkey de andere opgevraagte waarde staan.
$allowmultidimarray (optioneel) (DEFAULT: false) = of het toegestaan is om meerdere array's met data onder dezelfde indexkey te gooien.
Indien 'true', zal er standaard een array achter een indexkey staan met daarin de array's met data.
Indien 'false', zal enkel de 1e array ingevult worden en alle array's erna genegeert.
=============================
===========voorbeeld=========
=============================
tabel: leden
id | naam | email
=================
1 | jan | [email protected]
2 | klaas| [email protected]
3 | piet | [email protected]
<?php
print_r( large_query( 'SELECT * FROM `leden`' , 'email' , false));
?>
uitvoer:
-----------------
array(
[[email protected]] = array(
[id] = 1
[naam] = jan
[email] = [email protected]
)
[[email protected]] = array(
[id] = 3
[naam] = piet
[email] = [email protected]
)
)
-----------------
uitleg:
hier wordt gevraagt naar alle kolommen (3) met als indexkey 'email'.
Omdat multidimarray's op FALSE staat, wordt alleen het 1e resultaat met als email '[email protected]' weergegeven.
===================================
=====voorbeeld 2===================
===================================
tabel: leden
id | naam | email
=================
1 | jan | [email protected]
2 | klaas| [email protected]
3 | piet | [email protected]
<?php
print_r( large_query( 'SELECT `naam`,`email` FROM `leden`' , 'email' , false));
?>
uitvoer:
-----------------
array(
[[email protected]] = jan
[[email protected]] = piet
)
-----------------
uitleg:
Hier wordt gevraagt naar slechts 2 kolommen. 1e is 'naam', andere is 'email'. Tevens is indexkey 'naam'.
Omdat indexkey 'naam' is en er dan slechts 1 kolom aan data overblijft, wordt automatisch de 2e kolom als string aan de indexkey gekoppeld.
Er worden slechts 2 resultaten weergegeven, omdat er 2 rows met hetzelfde email zijn terwijl dat de indexkey is.
Multi-dimensional array's is uitgeschakeld, dus alleen de 1e match met een identieke e-mail wordt weergegeven.
===================================
=====voorbeeld 3===================
===================================
tabel: leden
id | naam | email
=================
1 | jan | [email protected]
2 | klaas| [email protected]
3 | piet | [email protected]
<?php
print_r( large_query( 'SELECT * FROM `leden`' , 'email' , true));
?>
uitvoer:
-----------------
array(
[[email protected]] = array(
[0] = array(
[id] = 1
[naam] = jan
[email] = [email protected]
)
)
[1] = array(
[id] = 2
[naam] = klaas
[email] = [email protected]
)
)
[[email protected]] = array(
[0] = array(
[id] = 3
[naam] = piet
[email] = [email protected]
)
)
)
-----------------
uitleg:
Hier wordt gevraagt naar alle (3) kolommen met als indexkey 'email'. Tevens is het toegestaan om multi-dimensional array's aan te maken.
Standaard wordt er nu dus achter de indexkey een array aangemaakt met daarin alle array's (of strings, indien er naar 2 slechts kolommen werd gevraagt...) met data die bij die indexkey horen.
Voorbeeld: http://zie toelichting
Gesponsorde koppelingen
PHP script bestanden
Er zijn 4 reacties op 'Unbuffered query snippertje'
Om te reageren heb je een account nodig en je moet ingelogd zijn.
PHP hulp
0 seconden vanaf nu