Scripts
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 )
unbuffered-query-snippertje
[code]<?php
function large_query($query,$indexkey = false,$allowmultidimarray = false) {
//indien nodig: connecten
mysql_connect($mysql_server,$mysql_user,$mysql_pass);
mysql_select_db($mysql_database);
$results=array();//maak array aan
$result = mysql_unbuffered_query($query) or die('UNBUFFERED QUERY FAILED:<br/><strong style="font-family:courier">'.$query.'</strong><br/><br/>MySQL returned:<br/><strong style="font-family:courier">'.mysql_error().'</strong>');//haal data op
while($row = mysql_fetch_assoc($result)) {
if(!$indexkey) {
$results[]=$row;
} elseif(count($row)!=2) {//wanneer er een indexkey is en er meerdere array's op deze index key zitten...
if(!$allowmultidimarray) {
$results[$row[$indexkey]]=$row;
} elseif(!$results[$row[$indexkey]]) {
$results[$row[$indexkey]]=array($row);
} else {
array_push($results[$row[$indexkey]],$row);
}
} else {//slechts 2 waarden in een array. 1 waarde wordt key, andere wordt waarde.
$keys=array_keys($row);
if($keys[0]!=$indexkey) {
$results[$row[$indexkey]]=$row[$keys[0]];
} else {
$results[$row[$indexkey]]=$row[$keys[1]];
}
}
} //gooi data in array
return $results;//return array
}
?>[/code]
Reacties
0