Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/11/2007, 23:37
Jhorb
 
Fecha de Ingreso: junio-2002
Mensajes: 261
Antigüedad: 21 años, 10 meses
Puntos: 0
Inconvenientes con consultas en PHP

Hola a todos....tengo dos páginas una de ellas la primera pasa a la segunda 4 juegos de arreglos, los cuales llevan id's de preguntas, estos serán procesados en la segunda página, que debe realizar entonces 4 consultas independientes pero en la misma tabla para obtener las subpreguntas ligadas a los id's contenidos en los arreglos. De entrada el primer error:

1. Si selecciono 3 preguntas en la primera página y estas poseen 2 subpreguntas cada una, osea debería retornar 6, solo retorna 4, debido a q la última pregunta seleccionada se pierde al procesar el array.
2. Las demas consultas al ser independientes deberian mostrar sus resultados, pero reflejan los resultados de la primera consulta pero en un correcto número de preguntas, es decir. Si las primeras preguntas (grupo 1), son 6 y las del segundo grupo (segunda consulta), son 4...se muestran 4, pero con el texto de las 4 primeras del grupo1, y lo mismo ocurre con el grupo3 y el grupo4.

Akí posteo el código para q pueda ser revisado y me indiquen en q subyace el error.....GRACIAS

<?php
if(!empty($_POST['ChkPreg3']))
{
$cLista=array_keys($_POST['ChkPreg3']);
}
mysql_select_db($database_Audito, $Audito);
$query_RecPreg3 = "SELECT * FROM preguntas WHERE PregMaster IN (".implode(',',$cLista).")";
$RecPreg3 = mysql_query($query_RecPreg3, $Audito) or die(mysql_error());
$row_RecPreg3 = mysql_fetch_assoc($RecPreg3);
$totalRows_RecPreg3 = mysql_num_rows($RecPreg3);

if(!empty($_POST['ChkPreg1']))
{
$aLista=array_keys($_POST['ChkPreg1']);
}
mysql_select_db($database_Audito, $Audito);
$query_RecPreg1 = "SELECT * FROM preguntas WHERE PregMaster IN (".implode(',',$aLista).")";
$RecPreg1 = mysql_query($query_RecPreg1, $Audito) or die(mysql_error());
$row_RecPreg1 = mysql_fetch_assoc($RecPreg1);
$totalRows_RecPreg1 = mysql_num_rows($RecPreg1);

if(!empty($_POST['ChkPreg2']))
{
$bLista=array_keys($_POST['ChkPreg2']);
}
mysql_select_db($database_Audito, $Audito);
$query_RecPreg2 = "SELECT * FROM preguntas WHERE PregMaster IN (".implode(',',$bLista).")";
$RecPreg2 = mysql_query($query_RecPreg2, $Audito) or die(mysql_error());
$row_RecPreg2 = mysql_fetch_assoc($RecPreg2);
$totalRows_RecPreg2 = mysql_num_rows($RecPreg2);

if(!empty($_POST['ChkPreg4']))
{
$dLista=array_keys($_POST['ChkPreg4']);
}
mysql_select_db($database_Audito, $Audito);
$query_RecPreg4 = "SELECT * FROM preguntas WHERE PregMaster IN (".implode(',',$dLista).")";
$RecPreg4 = mysql_query($query_RecPreg4, $Audito) or die(mysql_error());
$row_RecPreg4 = mysql_fetch_assoc($RecPreg4);
$totalRows_RecPreg4 = mysql_num_rows($RecPreg4);
?>
</head>
<tr class="Celdas" >
<td width="3%" class="Celdas"><label>
<input name="ChkPreg2a[]" type="checkbox" id="ChkPreg2a[]" value="<?php echo $row_RecPreg1['codigo']; ?>">
</label></td>
<td width="86%" class="Celdas"><?php echo $row_RecPreg1['detalle']; ?>
<input name="pregunta1[]" type="hidden" id="pregunta1[]" value="<?php echo $row_Preg1['detalle']; ?>">
<input name="indicador1[]" type="hidden" id="indicador1[]" value="<?php echo $row_Preg1['indicador']; ?>">
<input name="codcriterio1[]" type="hidden" id="codcriterio1[]" value="<?php echo $row_Preg1['cod_criterio']; ?>"></td>
<td width="11%" class="Celdas2"><a href=""
onClick=
"window.open('prueba4.php?id=<?php echo $row_RecPreg1['indicador'];?>','Soporte','width=400,height=250,left=0,top=0, status=no,toolbar=no')">
<div align="center"><?php echo $row_RecPreg1['indicador']; ?></div></td>
</tr>
<?php } while ($row_RecPreg1 = mysql_fetch_assoc($RecPreg1)); ?>


Y de aki las demás iguales solo cambiar el 1 x 2 o 3 o 4 según sea el lugar
__________________
Buscando el camino...