Buenas a todos, tengo un problema a la hora de ejecutar un foreach en un while, el while me recorre los resultados de una consulta y el foreach me lee un xml...
El problema esta si dentro del foreach ejecuto una sentencia SQL,
El codigo aca:
//la consulta q me crea el whiel
Código PHP:
Ver original<?php
$sqlexa=" SELECT * FROM GESOLHC WHERE ORDSER='1'";
$obj->consulta($sqlexa);
$nfilas=$obj->numFilas();
while ($row = sqlsrv_fetch_array($obj->result))
{
$codigo=$row[0];
//aca empiezo a condicionar:
if(($codigo=='EXA') && ($consolexa>0))
{
echo "Entra primero";
//ejecuto el foreach y muestra resultados bien
}
if(($codigo=='PQX') && ($conpqx>0))
{
echo "Entra segundo";
//ejecuto el foreach de este caso y muestra bien los resultados
}
}
?>
El problema esta si por ejemplo en el primer if hago una consulta:
Código PHP:
Ver originalif(($codigo=='EXA') && ($consolexa>0))
{
echo "Entra primero";
$x = new SimpleXMLElement($archivo, null, true);
$b=0;
foreach($x->solqx as $soli ) {
$codqx=$soli['cod'];
$cantqx=$soli['can'];
$proqx=$soli->examen;
$proqx = substr( $proqx, 0, 76 ); $proqx=$proqx."...";
$observqx=$soli->observ;
//ejecuto el foreach
$sqlvalser2="SELECT SMTVALSER FROM GEMANTAR WHERE GENCODIGO='".$mantarifa."' AND SIPCODIGO='".$codqx."'";
$obj->consulta($sqlvalser2);
$row2 = sqlsrv_fetch_array($obj->result);
$valorser2=$row2[0];
}
}
Para este caso, ya no entra al segundo if, porque?....
Espero me puedan dar una ayuda, gracias