Ver Mensaje Individual
  #7 (permalink)  
Antiguo 14/10/2015, 07:46
guspel
 
Fecha de Ingreso: octubre-2015
Ubicación: Argentina
Mensajes: 4
Antigüedad: 8 años, 6 meses
Puntos: 0
Respuesta: Mostrar resultados de consulta

Gracias Drowna por tu tiempo.
Mirá, lo implemente de esta manera (espero sea la correcta). Me aparecieron algunos errores de sintaxis, los cuales arregle. Pero al ejecutarlo me marca el siguiente error.

Cita:
<?php
/*Conexion a la bd*/
include ("conexion.php");

if(isset($_REQUEST['enviar'])){

$query=("select day(fecha), month(fecha), year(fecha), producto, cliente, reparto, sum(ingreso), sum(egreso), sum(ingreso)-sum(egreso) from planta_prod WHERE month(fecha)='$_POST[mes]' and year(fecha)='$_POST[ano]' and cliente='$_POST[cliente]' group by day(fecha),cliente, producto")or die(mysql_error());
$resultado=mysql_query($query);
$total=mysql_num_rows($resultado);?>
<?php
////////////////////////////
// creamos el array que contendra todos los productos ordenados
$productos = array();
// se realiza la bsuqueda en la base de datos
$datos = mysqli_fetch_array($resultado);
// Se realiza un bucle for que recorra cada linea del array
for($i= 0; $i<count($datos); $i++){
// Confirmamos que en el array si existe un indice con el nombre del producto.
if(array_key_exists($datos[$i]["producto"], $productos)){
// Si el indice existe se añade directamente a lo ultimo del array de dicho indice.
// Doy por sentado que quiere ver directamente la diferencia asi que accedes directamente a este valor
array_push($productos[$datos[$i]["producto"]], $datos[$i]["diferencia"] );
} else {
// En caso de que no exista se crea el array
$productos[$datos["producto"]] = array();
// Y luego insertamos la información que se quiere guardar.
array_push($productos[$datos[$i]["producto"]], $datos[$i]["diferencia"] );
}

};
// Primero averiguamos la cantidades de indices que tiene el array que se hizo antes.
$prod_colum = count($productos);
// Ahora empezamos a crear la tabla, empezamos por la cabecera. Usare de plantilla el que distes en la ultima imagen
$tabla = "<table><tr><td>HOTEL X</td><td>".$_POST['cliente']."</td><td>".$_POST['mes']."</td><td colspan='2'>".$prod_colum."></td></tr>";
$tabla .="<tr><td>Fecha</td>";
foreach($productos as $key => $value){
$tabla .= "<td>".$key."</td>";
};
$tabla .= "</tr>";
// A partir de aqui se crea el contenido de la tabla
for($dia = 0; $dia<30; $dia++){
// La primera celda será la del dia
$tabla .= "<tr><td>".$dia+'1'."</td>";
// Se recorre cada dia concreto de cada uno de los productos
for($pro = 0; $pro<$prod_colum; $pro++){
// Se comprueba si el dia existe dentro del array
if($productos[$pro][$dia] == null || $productos[$pro][$dia] == undefined || $productos[$pro][$dia] == false){
// En caso de no existir el valor del dia es 0
$table .= "<td>0</td>";
} else {
// En caso de existir se introduce el valor concreto
$table .= "<td>".$productos[$pro][$dia]."</td>";
}
}
// Se cierra la fila de este dia para que inicie la fila del siguiente
$tabla .= "</tr>";
};
//Calculamos el total de cada producto
$total = array();
$tabla .= "<tr><td>Total</td>";
for($pro = 0; $pro<$prod_colum; $pro++){
$total[$pro] = array();
while($cantidad = $producto[$pro]["diferencia"]){
$total[$pro =+ $cantidad];
}
$Table .="<td>".$total[$pro]."</td>";
}

// Se finaliza todo se cierra la tabla
$tabla .="</tr></table>";
}
?>
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, resource given in C:\wamp\www\PHP_planta_30\admin\cli-diario-cli-00.php on line 91

que corresponde a esta linea del codigo
Cita:
// se realiza la bsuqueda en la base de datos
$datos = mysqli_fetch_array($resultado);
A la vez me surge duda sobre esta parte del codigo ( si esta bien modificado por mi ) ya que sin las comillas simples me indica error.
Cita:
// La primera celda será la del dia
$tabla .= "<tr><td>".$dia+'1'."</td>";
No estoy seguro de haber corregido bien esos errores de sintaxis o haberlo implementado bien ¿ Serias tan gentil de echarle una mirada y ver si encuentras algo mal ?

Mil gracias