Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/08/2008, 23:10
Avatar de destor77
destor77
 
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 6 meses
Puntos: 43
problema al imprimir array

Hola:
tengo el siguientes codigo:
Código PHP:
function traer_resultados(&$encuestas_preguntas_vec,$pagina_desde=0,$pagina_cant=999){
    
$pagina_cant intval($pagina_cant);
    
$pagina_desde intval($pagina_desde);

    
    
//consulta preguntas
    
$sql="SELECT ep.id, ep.texto
        FROM "
.BD_NAME.".encuestas_preguntas AS ep, 
        "
.BD_NAME.".encuestas_cuestionarios_respuestas AS epc, 
        "
.BD_NAME.".encuestas_cuestionarios AS ec
        WHERE ep.id = epc.pregunta_id
        AND ec.id = epc.cuestionario_id
        AND ep.tipo = '1'"
;
    if (
intval(trim($encuestas_preguntas_vec[0]['grupo_id']))!= 0) {$sql.=" and ecp.grupo_id = '" .fmt_num_sin_null($encuestas_preguntas_vec[0]['grupo_id'])."'"; }
    if (
trim($encuestas_preguntas_vec[0]['unidad'])!= 0) {$sql.=" and ec.unidad_negocio_id = '" .fmt_num_sin_null($encuestas_preguntas_vec[0]['unidad'])."'"; }
    if (
intval(trim($encuestas_preguntas_vec[0]['area']))!= 0) {$sql.=" and ec.area_funcional_id = '" .fmt_num_sin_null($encuestas_preguntas_vec[0]['area'])."'"; }
    if (
intval(trim($encuestas_preguntas_vec[0]['worklevel']))!= 0) {$sql.=" and ec.work_level_id = '" .fmt_num_sin_null($encuestas_preguntas_vec[0]['worklevel'])."'"; }
    if (
trim($encuestas_preguntas_vec[0]['pregunta'])!= 0) {$sql.=" and pregunta_id ='" .fmt_num_sin_null($encuestas_preguntas_vec[0]['pregunta'])."'"; }
    if (
intval(trim($encuestas_preguntas_vec[0]['desde']))!= 0) {$sql.=" and ec.fecha >= " .fmt_string_sin_null($encuestas_preguntas_vec[0]['desde']).""; }
    if (
intval(trim($encuestas_preguntas_vec[0]['hasta']))!= 0) {$sql.=" and ec.fecha <= " .fmt_string_sin_null($encuestas_preguntas_vec[0]['hasta']).""; }
    
$sql.='GROUP BY ep.id';
    
query_execute_mysql($rs,$sql,$rows_cant);

    
$encuestas_preguntas_vec=array();
    
    if (
$rows_cant != 0) {
        
$i=0;
        while (
$row=mysql_fetch_row($rs)) {
            
$encuestas_preguntas_vec[$i]['id_pregunta'] = trim($row [0]);
            
$encuestas_preguntas_vec[$i]['pregunta'] = trim($row [1]);
            
            
//traigo el total de respuesta de la pregunta
            
$sql="SELECT count( * )
                FROM "
.BD_NAME.".encuestas_cuestionarios_respuestas
                WHERE pregunta_id = '"
.$encuestas_preguntas_vec[$i]['id_pregunta']."'
                ORDER BY pregunta_id
          "
;

            if (
$pagina_cant != 0$sql.=" LIMIT ".$pagina_desde.",".$pagina_cant;
            
//Ejecuto la consulta
            
query_execute_mysql($rs,$sql,$rows_cant);

            
            if (
$rows_cant != 0) {
                while (
$row=mysql_fetch_row($rs)) {
                    
$encuestas_preguntas_vec[$i]['cant_res_p'] = trim($row [0]);
                    
                    
//cantidad de respuestas por preguntas                
                    
$sql="SELECT respuesta, count( * ) AS cant_res
                          FROM "
.BD_NAME.".encuestas_cuestionarios_respuestas AS ecp
                          WHERE ecp.pregunta_id='"
.$encuestas_preguntas_vec[$i]['id_pregunta']."'
                          "
;
                    
$sql.='GROUP BY respuesta';
    
                    if (
$pagina_cant != 0$sql.=" LIMIT ".$pagina_desde.",".$pagina_cant;
                    
//$encuestas_preguntas_vec[$i]['sql'] = $sql1;
                    //Ejecuto la consulta
                    
query_execute_mysql($rs,$sql,$rows_cant);
    
                    
//Recorro los campos
                    
if ($rows_cant != 0) {
                        while (
$row=mysql_fetch_row($rs)) {
                            
$encuestas_preguntas_vec[$i][$i]['respuesta'] = trim($row [0]);
                            
$encuestas_preguntas_vec[$i][$i]['cant_res'] = trim($row [1]);
                            
$i++;
        
                        } 
//del while de si trajo registros respuestas por preguntas
                    
}
                    
$i++;
                } 
//del while de si trajo registros total de respuesta de la pregunta
            
}
        
$i++;
    }
//del while de si trajo la pregunta
        //$encuestas_preguntas_vec[$i]['sql'] = $sql;
    
}//fin whiletotal de respuesta de la pregunta
   

el cual me devuelve un array asi:
Código PHP:
Array ( [0] => Array ( [id_pregunta] => [pregunta] => CAUNTOS DEDOS TIENE UN PIE ? [cant_res_p] => [0] => Array ( [respuesta] => [cant_res] => ) ) [1] => Array ( [1] => Array ( [respuesta] => [cant_res] => ) ) ) 
el problema que tengo es que quiero imprimirlo asi:
Código PHP:
// Traigo la Consulta 
           
traer_resultados($encuestas_preguntas_vec,$pagina_desde_aux,$pagina_cant);

            
// Cuento cuantos hay 
           
$cant=count($encuestas_preguntas_vec);
      if (
$cant 0) {

          
           for (
$i=0;$i<$cant;$i++) {
               
            echo 
" <tr class='tabla_deta'>
                    <td align='center' valign='top'>"
.$encuestas_preguntas_vec[$i]['pregunta']."</td>
                    <td align='center' valign='top'>
                        respuesta "
.$encuestas_preguntas_vec[$i]['respuesta'].
                        "
.number_format(($encuestas_preguntas_vec[$i]['cant_res']*100)/$encuestas_preguntas_vec[$i]['cant_res_p'])."%
                       </td>
                   </tr>
            "
;

           }
//del for 
       
}else{  
            
$error_str'No se han encontrado registros para la busqueda solicitada';
        } 
//de si tiene registros 
para que me salga:
pregunta xxx respuesta 1 xx% respuesta 2 xx% respuesta n xx%

pero no me lo muestra correctamente que estoy haciendo mal, desde ya muchas gracias