Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema con impresión de campos vacios

Estas en el tema de Problema con impresión de campos vacios en el foro de PHP en Foros del Web. Buenas tardes a todos, Tengo un problema desde hace un par de días y no tengo forma de sacarlo. Tengo estos datos sacados de la ...
  #1 (permalink)  
Antiguo 23/04/2020, 11:47
 
Fecha de Ingreso: noviembre-2002
Mensajes: 130
Antigüedad: 22 años
Puntos: 0
Problema con impresión de campos vacios

Buenas tardes a todos,
Tengo un problema desde hace un par de días y no tengo forma de sacarlo.

Tengo estos datos sacados de la bas de datos..
Código HTML:
COD VALOR NOMBRE MES
30	1409	  Olga	1
30	3000	  Olga	2
30	2545	  Olga	3
30	2000	  Olga	5
30	4128	  Olga	7
30	3088	  Olga	9
30	4633	  Olga	12
Como podeís ver no aparece el més 4, 6, 8, 10, 11. Son los meses que no ha ingresado.

Lo que me gustaría es que aunque no exista registro para esos mese que no ha entrado ningún valor, aparezca en el listado con valor 0.
Es importantte que printe los 12 meses.

Estoy luchando con esto, pero no llego..
¿Alguna sugerencia?

Código PHP:
$i 1;
for (
$i 1;$i <= 12$i++){
while( 
$row sqlsrv_fetch_array$ARR_FactAgente1)){
   if (
$i==13)
   {
   break;
   }
   if (
$row['MES']==$i) { print $row['NOMBRE']."<BR>";} else { print "0"; } ;
        }
  echo 
$i;

Me gustaría que el resultado fuera este:

Código HTML:
1-Olga - 1409	
2-Olga - 3000
3-Olga - 2545
4-Olga - 0
5-Olga - 2000
6-Olga - 0
7-Olga - 4128
8-Olga- 0
9- Olga -3088
10-Olga - 0
11-Olga - 0
12-Olga - 4633
Muchas gracias
  #2 (permalink)  
Antiguo 23/04/2020, 12:16
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Problema con impresión de campos vacios

Sería más fácil si cargas todo en un array y después muestras el contenido:

Código PHP:
Ver original
  1. // Creas el array
  2. $meses = [];
  3. // Luego lo llenas, creando un array para cada mes
  4. for($i = 1; $i <= 12; $i++) {
  5.     $meses[$i] = [];
  6. }
  7.  
  8. $nombre = 'No hay nombre'; // Valor por default
  9.  
  10. // Ahora recorres los resultados de base de datos y agregas al array:
  11. while( $row = sqlsrv_fetch_array( $ARR_FactAgente1)){
  12.     // Actualizar variable de nombre
  13.     $nombre = $row['NOMBRE'];
  14.     // Asignar total al mes actual
  15.     $meses[$row['MES']] = $row;
  16. }
  17.  
  18. // Finalmente muestras todo:
  19. foreach($meses as $mes => $valores) {
  20.     // Si el contenido del mes está vacío, entonces el valor es cero
  21.     $valor = (empty($valores)) ? 0 : $valores['valor'];
  22.     echo "$mes - $nombre - $valor<br>";
  23. }
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 23/04/2020, 12:27
 
Fecha de Ingreso: noviembre-2002
Mensajes: 130
Antigüedad: 22 años
Puntos: 0
Respuesta: Problema con impresión de campos vacios

Me parece increible. Que fácil lo has hecho..
Es justo lo que necesitaba..
Muchas gracias

Una pregunta más si no es pedir mucho...
Ahora lo tengo limitado a que me muestre un solo un agente.

Su tuviera que hacerlo con todos los agentes de golpe.
Sería lo mismo. Es decir. Que me mostrara todos los registros de Olga primero, Luego todos los de Jose, ... todos los de Anna..

Gracias de nuevo

Etiquetas: campos, dato, fue, vacios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:29.