MySQL - Imprimir unicamente campos que tengan valores

 
Vista:
sin imagen de perfil

Imprimir unicamente campos que tengan valores

Publicado por nitramara (1 intervención) el 02/03/2016 05:57:38
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..

[php]//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> [/php]

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
sin imagen de perfil
Val: 20
Ha disminuido su posición en 25 puestos en MySQL (en relación al último mes)
Gráfica de MySQL

Imprimir unicamente campos que tengan valores

Publicado por Gonzalo (103 intervenciones) el 02/03/2016 13:31:40
Tu problema es de PHP, no de MySQL...

PHP no es MySQL, y MySQL no interpreta PHP. Lo que hagas para mostrar los datos en pantalla es irrelevante para MySQL. Es algo que manejas en la aplicación, no en la base.
MySQL devolverá la tabla como se la pides. Si no tiene datos en algún campo, devolverá vacíos, ceros o NULL, dependiendo de lo que contenga, y será con PHP que deberás resolver si se muestra o no.

¿Por que no preguntas en el foro de PHP?
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