hace unos dias me tope con un queryde este tipo x lo q se me hico dificil pero no imposible la solucion.
aqui pongo un ejemplo bastante sencillo y entendible de como hacerlo con php y mysql. de antemano le digo que no se si es la forma optima de acerlo. pero de que funciona es un hecho. todo depende delo que decees y la ocmplejida de tu consulta
para hacerlo posible haremos uso de la funcion COUNT de mysql
primero crea una tabla: con el nombre productos en tu b.d
con los siguintes campo id-articulos-precio-dia
introduce lo siguiente:
articulos|precio|dia
leche ---15 --------1
leche ---- 15-----------2
huevo ----30-----------2
pan -----5-------------1
azucar ---25------------1
azucar ---25-----------1
con estos datos el resultado debe verse
articulo | dia1 | dia2 | dia3
_______________________________________
azucar | 25 | 0 | 25
_____________________________________
lache | 0 | 25 | 0
_________________________________________-
huevo | 15 | 15 | 0
__________________________________________
pan | 5 | 0 | 0
_________________________________________
aqui el archivito php ponle el nombre que gustes
Código PHP:
$link=mysql_connect("localhost","root");
mysql_select_db("tu base",$link);
//empieza el algrupamiento por grupos
$query = "SELECT dia,COUNT(dia) FROM productos GROUP BY dia";
$result = mysql_query($query) or die(mysql_error());
echo"<table border=1' cellpadding='' cellspacing='0' bordercolor='#000000' align='center'>
<tr>
<td><div align='center'class='tablatitulo2'>articulos</div></td>";
while ($row = mysql_fetch_array($result))
{
echo"<td>dia:".$row['dia']."</td>";
}//cierr el incremento de columnas
echo"</tr>";
$q = "SELECT dia,articulo,COUNT(articulo) FROM productos GROUP BY articulo";
$r = mysql_query($q) or die(mysql_error());
while ($rowk = mysql_fetch_array($r))
{
echo"<tr>";
echo" <td><div align='center'class='tablatitulo2'>".$rowk['articulo']."</div></td>";
//empieza el algrupamiento por grupos
$query = "SELECT dia,COUNT(dia) FROM productos GROUP BY dia";
$result = mysql_query($query) or die(mysql_error());
while ($row = mysql_fetch_array($result))
{
echo"<td>";
$articulos_precio = "SELECT articulo,precio,COUNT(precio) FROM productos where articulo='".$rowk["articulo"]."' AND dia='".$row["dia"]."' GROUP BY articulo";
$int = mysql_query($articulos_precio) or die(mysql_error());
if ($row1 = mysql_fetch_array($int))
{
echo"".$row1["precio"]."";
}else{
$sub1=0;
echo"<div align='center' class='filas'>$sub1</div>";}
echo"</td>";
}
echo"</tr>";
}