Ver Mensaje Individual
  #5 (permalink)  
Antiguo 02/08/2010, 17:25
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

No no no no =P no utilices echos en el while, o entonces no tiene caso utilizar arreglos, la idea era primero ordenar los campos en $newArray y después (fuera del while) tu trabajar con el arreglo final, pero bueno, es un idea, si te acomodas mas dando echos aquí y echos alla pues como se te acomode mejor, la idea original era para tener el código ordenado..

Ahora ya decirte como utilizar el arreglo final ($newArray) es hacerte todo el trabajo no crees >.<, pero bueno...

Cita:
Corresponde a sucursal1
$servicios[]
Array ( [0] => Agua [1] => Cable )
Array ( [0] => Agua [1] => Cable [2] => Luz )
Array ( [0] => Agua [1] => Cable [2] => Luz [3] => Telefono )
Array ( [0] => Agua [1] => Cable [2] => Luz [3] => Telefono [4] => Colegiatura )

Corresponde a sucursal2
$servicios[]
Array ( [0] => Agua [1] => Cable )
Array ( [0] => Agua [1] => Cable [2] => Luz
Veo que en el código se repiten los servicios (la verdad es que no probé el código y solo genere el array en la mente >.<, para evitar que se repitan los servicios cambiamos el código

Código PHP:
Ver original
  1. <?php
  2. $ultSucursal = '';
  3. $newArray = array();
  4. $servicios = array();
  5. while($row = mysql_fetch_assoc($query)) {
  6.     if ($ultSucursal == $row['sucursal']) {
  7.     if (array_search($row['servicios'],$servicios) === false) {     //Upps me equivoque en el mensaje original, arreglado el pequeño error
  8.         $servicios[] = $row['servicios'];
  9.     }
  10.     }else {
  11.         if (count($servicios) != 0) {
  12.             $newArray[] = array(
  13.                 'sucursal'=>$ultSucursal,
  14.                 'servicios'=>$servicios
  15.             );
  16.         }
  17.  
  18.         $servicios = array();
  19.         $servicios[] = $row['servicios'];
  20.  
  21.     }
  22.     $ultSucursal = $row['sucursal'];
  23. }

En teoría ya únicamente te generaría...
Cita:
Corresponde a sucursal1
$servicios[]
Array ( [0] => Agua [1] => Cable [2] => Luz [3] => Telefono [4] => Colegiatura )
Más fácil no te la puedo dejar, seria pecado >.<, aparte la idea es aprender no entregar el trabajo hecho =P

Para aclarar al final, el único arreglo (array) con el que debes trabajar y te entregará toda la información es $newArray
__________________
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 =)

Última edición por Nemutagk; 02/08/2010 a las 17:42