Foros del Web » Programando para Internet » PHP »

Problema con despliegue de datos en Buscador con PHP y Oracle

Estas en el tema de Problema con despliegue de datos en Buscador con PHP y Oracle en el foro de PHP en Foros del Web. Buena noche colegas, por acá molestándolos con un problema que ultimamente me ha dado mucho que pensar, es el siguiente: Necesito hacer un buscador con ...
  #1 (permalink)  
Antiguo 19/06/2013, 00:45
 
Fecha de Ingreso: junio-2013
Ubicación: Guatemala
Mensajes: 6
Antigüedad: 10 años, 10 meses
Puntos: 0
Problema con despliegue de datos en Buscador con PHP y Oracle

Buena noche colegas, por acá molestándolos con un problema que ultimamente me ha dado mucho que pensar, es el siguiente:

Necesito hacer un buscador con PHP y Oracle para realizar una consulta a la bd y que me extraiga todo lo que se parezca a la cadena que estoy enviando, el código es el siguiente

<?php

if ( ! empty($_POST['ejecutabus'])) {
$codprod=$_POST['codprod'];
$conn = oci_connect('icotech', '12345', '127.0.0.1/XE');
if (!$conn) {
$e = oci_error();
print htmlentities($e['message']);
exit;
}
//buscar todo lo que contenga el campo codprod y que se parezca con cod_produ en la bd
$stid = oci_parse($conn, "SELECT COD_PRODU, NAME_PROD FROM DET_PROD WHERE REGEXP_LIKE (COD_PRODU, :codprod)");
$codpro = '.*CL.*'; //aca no logro que me compare lo que viene de la variable :codprod, si solo lo dejo '.*.*' me muestra todo lo que este dentro de la tabla DET PROD y necesito unicamente lo que se parezca a lo que le este mandando, si lo coloco fijo como esta ya ahi si me devuelve lo que necesito pero al imprimir tengo otro problema
oci_bind_by_name($stid, ":codprod", $codpro);
oci_execute($stid);
oci_fetch_all($stid, $res);

foreach ($res['COD_PRODU' ] as $c)
foreach ($res['NAME_PROD'] as $e) { //no encuentro la manera de hacer que con solo 1 foreach se me impriman los dos campos, si coloco 2 foreach si se imprimen pero lo hace 2 veces, mientras que si solo coloco la primera línea (foreach ($res['COD_PRODU' ] as $c) y solo mando a imprimir su variable si lo hace correctamente.
print $c . "\n";
print $e . "<br>\n";

}


}
}
;

?>

Gracias por su ayuda espero no haberlos confundido tanto gracias!!!
  #2 (permalink)  
Antiguo 19/06/2013, 01:01
 
Fecha de Ingreso: junio-2013
Ubicación: Guatemala
Mensajes: 6
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Problema con despliegue de datos en Buscador con PHP y Oracle

despues de hacer esto

foreach ($res['COD_PRODU' ] as $c)
foreach ($res['NAME_PROD'] as $e) { /
print $c . "\n";
print $e . "<br>\n";

lo que me despliega es esto

este seria $c y este $e
CL-41 Tinta Generica
CL-41 Tinta Generica
CL-211 Tinta Generica
CL-211 Tinta Generica

ambos dentro de la variable %res


como ven si me despliega lo que le pido (que traiga todo lo que contenga CL) pero me lo duplica

ahora bien solo recalcando dos cosas:

1- quisiera lograr hacerlo sin tener que mandarle dentro del codigo la cadena a comparar y
2- que solo se imprima una línea por cada campo obtenido
  #3 (permalink)  
Antiguo 19/06/2013, 02:31
 
Fecha de Ingreso: junio-2013
Ubicación: Guatemala
Mensajes: 6
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Problema con despliegue de datos en Buscador con PHP y Oracle

ya corregi el problema de que me imprimia dos veces el resultado

ahora me queda asi

foreach ($res['COD_PRODU'] as $c)
{
print $c . "<br>\n" ;}
foreach ($res['NAME_PROD'] as $d) {
print $d . "<br>\n";}

KNB-415B
KNB-415R
MOCHILA KLIP NEGRA
mochila klip

pero me imprime primero los dos resultados de la variable $c y luego los d de la variable $d cuando los necesito a la par, si juego con las llaves me duplica el dato del name_prod

por otro lado sigo sin poder hacer que me compare la cadena que estoy introduciendo siempre tengo que mandarle una fija, gracias

Etiquetas: buscador-php, oracle
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:52.