TransWikia.com

¿Como puedo obtener todos los resultados de una consulta SQL con jquery?

Stack Overflow en español Asked by David Alvarado on January 1, 2022

Estoy realizando una consulta enviando datos concatenados pero solo me consulta el primero, seguí la documentación de php, pero me genera error Warning: Invalid argument supplied for foreach() in C:xampphtdocsetbmodelconsulta_fibra.php on line 821

ERROR

if (isset($_POST[‘con_estmas’]) ) {

    $con_estmas=$_POST['con_estmas'];
    


    $stid = oci_parse($conex, "select status_cd estado,ROW_ID pedido
                                from SIEBEL.S_ORDER@dblk_fo
                                    where ROW_ID in (:con_estmas
                                    ) AND STATUS_CD='Completada'");
        

        $ba = array(':con_estmas' => 1700); 
        foreach ($ba as $clave => $valor) {


                oci_bind_by_name($stid, $clave, $ba[$clave]);
            }                     
    

    oci_execute($stid);
    print '<table class="table table-bordered">';
            print '<thead>';
            print '<tr>';
            print '<th>ROW ID</th>';
            print '<th>Name</th>';
            print '</tr>';
            print '</thead>';
    $filas = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS);

        foreach ($filas as $items) {
                print $items."<br>n";
                }
    

}

One Answer

Esto parece una confusión heredada del ejemplo del Manual de PHP:

$ba = array(':con_estmas' => 1700); 
foreach ($ba as $clave => $valor) {
    oci_bind_by_name($stid, $clave, $ba[$clave]);
}

Supongo que el parámetro real es $con_estmas. No tiene sentido hacer el bind dentro de un for cuando es un solo parámetro, lo puedes hacer directamente (ver Ejemplo 4 del Manual).

Intenta este código, con un control total de todos los posibles errores.

if (isset($_POST['con_estmas']) ) {
    if ($conex) {       
        $con_estmas=$_POST['con_estmas'];
    
        if ($stid = oci_parse($conex, "select status_cd estado,ROW_ID pedido
                                    from SIEBEL.S_ORDER@dblk_fo
                                        where ROW_ID in (:con_estmas
                                        ) AND STATUS_CD='Completada'")) 
        {
            oci_bind_by_name($stid, ':con_estmas', $con_estmas);
            if (oci_execute($stid) && $filas = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
        
                $outPut="<table class="table table-bordered">
                        <thead>
                        <tr>
                        <th>ROW ID</th>
                        <th>Name</th>
                        </tr>
                        </thead>";
            
                foreach ($filas as $items) {
                    $outPut.="<tr><td>$items[estado]</td><td>$items[pedido]</td></tr>";
                }
                $outPut.="</table>";
            } else {
                #Sólo para depurar, conviene luego cambiar los mensajes de $e por mensajes personalizados
                $e = oci_error($conex);
                $outPut="Error ejecutando la consulta: ".htmlentities($e['message']);               
            }
        } else {
            #Sólo para depurar, conviene luego cambiar los mensajes de $e por mensajes personalizados
            $e = oci_error($conex);
            $outPut="Error preparando la consulta: ".htmlentities($e['message']);               
        }
    }else{
        $outPut="No hay conexión";
    }
} else {
    $outPut="No hay datos en el POST";
}
echo $outPut;

Answered by A. Cedano on January 1, 2022

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP