PHP - imprimir unicamente los campos que contengan datos

   
Vista:

imprimir unicamente los campos que contengan datos

Publicado por nitramara (12 intervenciones) el 02/03/2016 13:50:25
Hola a tod@s.. bueno tengo una duda.. la idea es que tengo una base de datos que puede ser llenada en ciertos campos y otros no.. algo asi como:
Nombre Documento Cargo cesantias vacaciones
Pepito Perez 11226633 operario 100000 0
Fulano de tal 56565656 conductor 0 50000

Y algo asi otros 12.000 registros. :shock:

la idea es que se tenga como resultado algo asi..
Nombre Pepito Perez
Documento 11226633
Cesantias 100000

como no tiene vacaciones.. pues no se muestra..

Actualmente lo hago funcionar pero mostrando los resultados uno a uno.. es decir recorro el array.. y luego le digo que me muestra la posicion.. pero como supondran.. eso lo que hace es mostrarme los datos inclusive si vienen en cero.. que horrible..

He intentado con este codigo pero la verdad no caso donde puede estar el error..

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
//esta es la busque sobre la DB
//logicamente ya me he conectado.. ;)
public function obtenerPersona($Documento)
{
//Obtengo todos los campos de la tabla
$q = "select * FROM tabla WHERE NumVinculacion = '$Documento'";
 
$result = $this->runQuery($q);
$valores = array();
if( $result->num_rows == 0)
{
return $valores;
}
else{
while($row = $result->fetch_assoc())
{
array_push($valores, $row);
}
}
return $valores;
}//Fin obtenerPersona
 
//y en otra pagina tengo esto
 
$Documento = $_POST["Documento"];
 
$conexion = new myDBC();
$mat = $conexion->clearText($Documento);
$datos = $conexion->obtenerPersona($mat);
 
<table id="datos">
<tr>
<th>Identificacion</th>
<th>Fecha Vinculacion</th>
<th>Cargo</th>
</tr>
 
 
<?php while (($datos = mysqli_fetch_array($result))!=NULL){ ?>
<tr>
<td><?php echo $datos[0]["NumVinculacion"]; ?></td>
<td><?php echo $datos[0]["Vinculacion"]; ?></td>
<td><?php echo $datos[0]["CargoEmpresa"]; ?></td>
</tr>
<?php } ?>
</table>

Espero me puedan tirar un salvavidas..
de antemano mil y mil gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

imprimir unicamente los campos que contengan datos

Publicado por xve (5523 intervenciones) el 02/03/2016 20:14:25
Hola Nitramara, segun lo que comentas, lo puedes hacer de dos maneras...

Una es con condicionales en el código if(), y la otra manera, que creo que es la correcta, es con la consulta SQL, que únicamente te devuelve los valores que tienes que mostrar.

No se el formato de las tablas, ni me queda claro que registros no hay que mostrar... si nos informas, intento ayudarte con la consulta SQL
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

imprimir unicamente los campos que contengan datos

Publicado por nitramara (12 intervenciones) el 02/03/2016 22:05:10
Ok.. eso creo lo tengo claro.. pero como te comento el lio esta en que me toca mostrar todos los campos que contengan datos.. para todos los 12 mil y pocon que tengo en la tabla.. a ver si logro explicarme... tengo 12 mil registros los cuales debo mostrarlos todos en un reporte.. algo asi como Nombre, Doc, Tel, Comisiones, Cesantias, Vacaciones.. y otros treinta campos mas.. la cuestion es que he generado el reporte para todos.. hago que me muestre todos absolutamente todos los campos.. pero como el caso es que algunos fulanos (no se cuantos ni cuales) no tienen Comisiones o no tienen vacaciones.. es decir.. unos si tienen todo, otros solo unas cosas, otros no tienen nada..
la idea es que al generar el reporte me muestre ordenadito solo lo que le corresponde a ese fulano.. es de apuntar que el archivo se puede generar total o por usuario..
Ves que al parecer estoy ahogandome en un charquito.. pero la verdad no se como salirme de el.. si me puedes colaborar te lo agradeceria enormemente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar