mirror of
https://github.com/Piwigo/Piwigo.git
synced 2026-06-02 04:15:05 +02:00
arrayfromquery optimizations: move double if from inside loop to outside + use directly mysqli calls to avoid function call overhead for every row retrieved from db
git-svn-id: http://piwigo.org/svn/trunk@27336 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
@@ -760,4 +760,74 @@ function my_error($header, $die)
|
||||
echo("</pre>");
|
||||
}
|
||||
|
||||
/**
|
||||
* Builds an data array from a SQL query.
|
||||
* Depending on $key_name and $value_name it can return :
|
||||
*
|
||||
* - an array of arrays of all fields (key=null, value=null)
|
||||
* array(
|
||||
* array('id'=>1, 'name'=>'DSC8956', ...),
|
||||
* array('id'=>2, 'name'=>'DSC8957', ...),
|
||||
* ...
|
||||
* )
|
||||
*
|
||||
* - an array of a single field (key=null, value='...')
|
||||
* array('DSC8956', 'DSC8957', ...)
|
||||
*
|
||||
* - an associative array of array of all fields (key='...', value=null)
|
||||
* array(
|
||||
* 'DSC8956' => array('id'=>1, 'name'=>'DSC8956', ...),
|
||||
* 'DSC8957' => array('id'=>2, 'name'=>'DSC8957', ...),
|
||||
* ...
|
||||
* )
|
||||
*
|
||||
* - an associative array of a single field (key='...', value='...')
|
||||
* array(
|
||||
* 'DSC8956' => 1,
|
||||
* 'DSC8957' => 2,
|
||||
* ...
|
||||
* )
|
||||
*
|
||||
* @since 2.6
|
||||
*
|
||||
* @param string $query
|
||||
* @param string $key_name
|
||||
* @param string $value_name
|
||||
* @return array
|
||||
*/
|
||||
function query2array($query, $key_name=null, $value_name=null)
|
||||
{
|
||||
$result = pwg_query($query);
|
||||
$data = array();
|
||||
|
||||
if (isset($key_name))
|
||||
{
|
||||
if (isset($value_name))
|
||||
{
|
||||
while ($row = pwg_db_fetch_assoc($result))
|
||||
$data[ $row[$key_name] ] = $row[$value_name];
|
||||
}
|
||||
else
|
||||
{
|
||||
while ($row = pwg_db_fetch_assoc($result))
|
||||
$data[ $row[$key_name] ] = $row;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (isset($value_name))
|
||||
{
|
||||
while ($row = pwg_db_fetch_assoc($result))
|
||||
$data[] = $row[$value_name];
|
||||
}
|
||||
else
|
||||
{
|
||||
while ($row = pwg_db_fetch_assoc($result))
|
||||
$data[] = $row;
|
||||
}
|
||||
}
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -799,4 +799,74 @@ function my_error($header, $die)
|
||||
echo("</pre>");
|
||||
}
|
||||
|
||||
/**
|
||||
* Builds an data array from a SQL query.
|
||||
* Depending on $key_name and $value_name it can return :
|
||||
*
|
||||
* - an array of arrays of all fields (key=null, value=null)
|
||||
* array(
|
||||
* array('id'=>1, 'name'=>'DSC8956', ...),
|
||||
* array('id'=>2, 'name'=>'DSC8957', ...),
|
||||
* ...
|
||||
* )
|
||||
*
|
||||
* - an array of a single field (key=null, value='...')
|
||||
* array('DSC8956', 'DSC8957', ...)
|
||||
*
|
||||
* - an associative array of array of all fields (key='...', value=null)
|
||||
* array(
|
||||
* 'DSC8956' => array('id'=>1, 'name'=>'DSC8956', ...),
|
||||
* 'DSC8957' => array('id'=>2, 'name'=>'DSC8957', ...),
|
||||
* ...
|
||||
* )
|
||||
*
|
||||
* - an associative array of a single field (key='...', value='...')
|
||||
* array(
|
||||
* 'DSC8956' => 1,
|
||||
* 'DSC8957' => 2,
|
||||
* ...
|
||||
* )
|
||||
*
|
||||
* @since 2.6
|
||||
*
|
||||
* @param string $query
|
||||
* @param string $key_name
|
||||
* @param string $value_name
|
||||
* @return array
|
||||
*/
|
||||
function query2array($query, $key_name=null, $value_name=null)
|
||||
{
|
||||
$result = pwg_query($query);
|
||||
$data = array();
|
||||
|
||||
if (isset($key_name))
|
||||
{
|
||||
if (isset($value_name))
|
||||
{
|
||||
while ($row = $result->fetch_assoc())
|
||||
$data[ $row[$key_name] ] = $row[$value_name];
|
||||
}
|
||||
else
|
||||
{
|
||||
while ($row = $result->fetch_assoc())
|
||||
$data[ $row[$key_name] ] = $row;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (isset($value_name))
|
||||
{
|
||||
while ($row = $result->fetch_assoc())
|
||||
$data[] = $row[$value_name];
|
||||
}
|
||||
else
|
||||
{
|
||||
while ($row = $result->fetch_assoc())
|
||||
$data[] = $row;
|
||||
}
|
||||
}
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user