Changeset 26048


Ignore:
Timestamp:
Dec 20, 2013, 11:54:02 AM (10 years ago)
Author:
mistic100
Message:

add query2array function, aiming to replace hash_from_query, array_from_query and simple_hash_fromq_query

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/functions.inc.php

    r25812 r26048  
    12421242
    12431243/**
     1244 * Builds an data array from a SQL query.
     1245 * Depending on $key_name and $value_name it can return :
     1246 *
     1247 *    - an array of arrays of all fields (key=null, value=null)
     1248 *        array(
     1249 *          array('id'=>1, 'name'=>'DSC8956', ...),
     1250 *          array('id'=>2, 'name'=>'DSC8957', ...),
     1251 *          ...
     1252 *          )
     1253 *
     1254 *    - an array of a single field (key=null, value='...')
     1255 *        array('DSC8956', 'DSC8957', ...)
     1256 *
     1257 *    - an associative array of array of all fields (key='...', value=null)
     1258 *        array(
     1259 *          'DSC8956' => array('id'=>1, 'name'=>'DSC8956', ...),
     1260 *          'DSC8957' => array('id'=>2, 'name'=>'DSC8957', ...),
     1261 *          ...
     1262 *          )
     1263 *
     1264 *    - an associative array of a single field (key='...', value='...')
     1265 *        array(
     1266 *          'DSC8956' => 1,
     1267 *          'DSC8957' => 2,
     1268 *          ...
     1269 *          )
     1270 *
     1271 * @since 2.6
     1272 *
     1273 * @param string $query
     1274 * @param string $key_name
     1275 * @param string $value_name
     1276 * @return array
     1277 */
     1278function query2array($query, $key_name=null, $value_name=null)
     1279{
     1280  $result = pwg_query($query);
     1281  $data = array();
     1282
     1283  while ($row = pwg_db_fetch_assoc($result))
     1284  {
     1285    if (isset($value_name))
     1286    {
     1287      $value = $row[ $value_name ];
     1288    }
     1289    else
     1290    {
     1291      $value = $row;
     1292    }
     1293    if (isset($key_name))
     1294    {
     1295      $data[ $row[$key_name] ] = $value;
     1296    }
     1297    else
     1298    {
     1299      $data[] = $value;
     1300    }
     1301  }
     1302
     1303  return $data;
     1304}
     1305
     1306/**
    12441307 * creates an simple hashmap based on a SQL query.
    12451308 * choose one to be the key, another one to be the value.
     1309 * @deprecated 2.6
    12461310 *
    12471311 * @param string $query
     
    12661330 * creates an associative array based on a SQL query.
    12671331 * choose one to be the key
     1332 * @deprecated 2.6
    12681333 *
    12691334 * @param string $query
     
    12861351 * if _$fieldname_ is empty the returned value will be an array of arrays
    12871352 * if _$fieldname_ is provided the returned value will be a one dimension array
     1353 * @deprecated 2.6
    12881354 *
    12891355 * @param string $query
Note: See TracChangeset for help on using the changeset viewer.