La idea es tratar los resultados en una matriz haciendo dos ordenaciones, una por filas y otra por columnas. Por filas, los items que tengan mayor coloración verde (7) aparecerán de primeras, y los rojos, blancos y negros de ultimas (de arriba hacia abajo). Por columnas, los expertos que hayan optado por la mayor cantidad de verdes(7) aparecerán de primeras y los rojos, blancos y negros de ultimas(de izquierda a derecha).
Por ahora he podido hacer el ordenamiento por filas,por columnas no se como ejecutarlo. Dejo el código de lo que tengo, espero por favor me puedan colaborar gracias.
Código PHP:
<?
$sql="SELECT crear_cuest.cod_crear_cuest,crear_cuest.cod_tema,crear_cuest.item,dilig_cuest.cod_crear_cuest,dilig_cuest.cod_experto,
dilig_cuest.cod_color
FROM crear_cuest,dilig_cuest
WHERE crear_cuest.cod_tema=" . $_GET['id'] . " AND crear_cuest.cod_crear_cuest=dilig_cuest.cod_crear_cuest GROUP BY
crear_cuest.cod_tema, dilig_cuest.cod_experto, crear_cuest.cod_crear_cuest ORDER BY dilig_cuest.cod_experto,dilig_cuest.cod_color DESC
";
$result=mysql_query($sql,$link);
$items2=array();
while($row=mysql_fetch_array($result))
{
if(!array_key_exists($row[item],$items2)){
$items2[$row[item]]=array();
$items2[$row[item]][$row[cod_experto]]= $row[cod_color];
}
else{
$items2[$row[item]][$row[cod_experto]]=$row[cod_color];
}
}
echo "<table id='abaco' border>
<thead>
<tr>
<th>ITEM</th>";
foreach ($items2 as $e=>$ex) {
foreach($ex as $llave=>$valor){
echo "<th>$llave</th>";
}
break;
}
echo "<th> </th>";
echo "</tr>";
echo "</thead>";
echo "<tbody>";
foreach ($items2 as $it=>$vlr_items) {
echo "<tr>";
echo "<td bgcolor=#F2F5A9>$it</td>";
$count = 0;
$count_7_fila=0;
foreach ($vlr_items as $va=>$valores_vect) {
$count++;
if ($valores_vect==7){
echo "<td bgcolor=#088A08>$valores_vect</td>";
}else {
if ($valores_vect==6){
echo "<td bgcolor=#00FF00>$valores_vect</td>";
}else {
if ($valores_vect==5){
echo "<td bgcolor=#FFFF00>$valores_vect</td>";
}else {
if ($valores_vect==4){
echo "<td bgcolor=#FA58D0>$valores_vect</td>";
}else {
if ($valores_vect==3){
echo "<td bgcolor=RED>$valores_vect</td>";
}else {
if ($valores_vect==2){
echo "<td bgcolor=WHITE>$valores_vect</td>";
}else {
if ($valores_vect==1){
echo "<td bgcolor=BLACK>$valores_vect</td>";
}
}
}
}
}
}
}
if ($valores_vect==7){
$count_7_fila++;}
}//cierra foreach valores
echo "<td>$count_7_fila</td>";
echo "</tr>";
}//cierra foreach items
$orden_fila_sietes=$count+1;
function codigo_especialidad(){global $orden_fila_sietes;}
$codigo_especialidad=$orden_fila_sietes;
echo "</tbody>";
echo "</table>";
?>
Código Javascript:
Ver original
<script type="text/javascript"> $(document).ready(function() { $('#abaco').dataTable( { "order": [[ <?php echo $codigo_especialidad; ?>, "desc"]]}); } ); </script>
Resultado del codigo:
http://subefotos.com/ver/?d5c7701a8a...eo.jpg#codigos