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] => 2 [pregunta] => CAUNTOS DEDOS TIENE UN PIE ? [cant_res_p] => 3 [0] => Array ( [respuesta] => 2 [cant_res] => 2 ) ) [1] => Array ( [1] => Array ( [respuesta] => 3 [cant_res] => 1 ) ) )
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