Foros del Web » Programando para Internet » PHP »

Ordenamiento por columnas

Estas en el tema de Ordenamiento por columnas en el foro de PHP en Foros del Web. Buen día amigos, tengo un problema aver si por favor me ayudan. Estoy haciendo un sistema en donde los usuarios(expertos) califican los items de un ...
  #1 (permalink)  
Antiguo 14/12/2014, 16:36
 
Fecha de Ingreso: septiembre-2013
Ubicación: Bogota
Mensajes: 139
Antigüedad: 10 años, 6 meses
Puntos: 0
Ordenamiento por columnas

Buen día amigos, tengo un problema aver si por favor me ayudan. Estoy haciendo un sistema en donde los usuarios(expertos) califican los items de un tema dándoles un valor, es decir, 7=Verde oscuro, 6=verde claro, 5=Amarillo, 4=Rosado, 3=Rojo, 2=Voto en blanco, 1=Negro(No sabe, No responde) siendo 7 la mayor calificación y 1 la menor calificación.
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
  1. <script type="text/javascript">
  2.   $(document).ready(function() {
  3.         $('#abaco').dataTable( {
  4.             "order": [[ <?php echo $codigo_especialidad; ?>, "desc"]]});
  5.     } );
  6.   </script>

Resultado del codigo:
http://subefotos.com/ver/?d5c7701a8a...eo.jpg#codigos

Última edición por andre___5025; 14/12/2014 a las 16:37 Razón: Enlace

Etiquetas: columnas, ordenamiento, select, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:03.