Ver Mensaje Individual
  #17 (permalink)  
Antiguo 05/08/2010, 10:23
Avatar de Nemutagk
Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 7 meses
Puntos: 406
Respuesta: Ayuda a imprimir una sola vez registro de bd

Ok, tienes razón, y me disculpo por no haber probado el código como debería haberlo hecho...

Ahora, eh probado este código, y funciona, pero, como no tengo los registros que tu tienes (mas que nada, como están formados los registros que recuperas) no estoy seguro si te va a funcionar, en el código esta un ejemplo de uso...
Código PHP:
Ver original
  1. <?php
  2. function search_in_array($search,$array) {
  3.     $count = 0;
  4.     foreach($array as $item) {
  5.         if ($item['sucursal'] == $search) {
  6.             return $count;
  7.         }
  8.         $count++;
  9.     }
  10.  
  11.     return false;
  12. }
  13.  
  14. //Un arreglo para probar el código
  15. $items = array(
  16.     array('sucursal','agua'),
  17.     array('sucursal','agua1'),
  18.     array('sucursal','agua2'),
  19.     array('sucursal','agua3'),
  20.     array('sucursal','agua4'),
  21.     array('sucursal','agua5'),
  22.     array('sucursa2','agua'),
  23.     array('sucursa2','agua1'),
  24.     array('sucursa2','agua2'),
  25.     array('sucursa2','agua3'),
  26.     array('sucursa2','agua4'),
  27.     array('sucursa2','agua5')
  28. );
  29.  
  30. $newArray = array();
  31. foreach($items as $item) {
  32.     $keyArray = search_in_array($item[0],$newArray);
  33.     if ($keyArray === false) {
  34.         $newArray[]['sucursal'] = $item[0];
  35.     }else {
  36.         $newArray[$keyArray]['servicios'][] = $item[1];
  37.     }
  38. }
  39.  
  40. echo '<pre>';
  41. var_dump($newArray);
  42. echo '</pre>';

Al final se obtiene el siguiente resultado...
Código:
array(2) {
  [0]=>
  array(2) {
    ["sucursal"]=>
    string(8) "sucursal"
    ["servicios"]=>
    array(5) {
      [0]=>
      string(5) "agua1"
      [1]=>
      string(5) "agua2"
      [2]=>
      string(5) "agua3"
      [3]=>
      string(5) "agua4"
      [4]=>
      string(5) "agua5"
    }
  }
  [1]=>
  array(2) {
    ["sucursal"]=>
    string(8) "sucursa2"
    ["servicios"]=>
    array(5) {
      [0]=>
      string(5) "agua1"
      [1]=>
      string(5) "agua2"
      [2]=>
      string(5) "agua3"
      [3]=>
      string(5) "agua4"
      [4]=>
      string(5) "agua5"
    }
  }
}
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)