Foros del Web » Programando para Internet » PHP »

problema con consulta de mysql

Estas en el tema de problema con consulta de mysql en el foro de PHP en Foros del Web. Buenas amigos; Mirar, tengo un buscador en php el cual pudé obtener el código de internet y he ido acoplandomelo a mis necesidades. Me decante ...
  #1 (permalink)  
Antiguo 15/05/2007, 21:04
 
Fecha de Ingreso: abril-2006
Mensajes: 218
Antigüedad: 18 años
Puntos: 0
problema con consulta de mysql

Buenas amigos;

Mirar, tengo un buscador en php el cual pudé obtener el código de internet y he ido acoplandomelo a mis necesidades.

Me decante por este script, por varias cosas que se explican aquí, y porque funciona bastante bien.

Lo que pasa es que tengo un problemilla con él, y es que si modifico la consulta, a la hora de seleccionar los campos, de un campo (en este caso descripcion), a * el script me peta repitiendome supongo que tantas veces como registros haya (no lo he contado, porque hay 1.500 registros), esto:

Warning: ereg() [function.ereg]: REG_EMPTY in XXXXXXXXXXX on line 72

La línea 72 es esta exactamente:
Código PHP:
if(ereg($aguja[$busqueda],$paja)){ 

El script es el siguiente:

Código PHP:
<? 

session_start
();

extract($_REQUEST);

include (
"connect.php");
include (
"errores.php");

if(
$cpath){ $escribe ="WHERE familia='$cpath'"; } else { $escribe =""; }

$query=mysql_query("SELECT descripcion FROM $tabla_productos ".$escribe.""); 
while(
$row=mysql_fetch_assoc($query)) 
    if(
busqueda($busqueda,$row)){ 
            echo 
$row['descripcion']."<br>"
        } 

function 
busqueda($busqueda,$row){ 
        
$elementos=array("*","+","(",")");
        
$busqueda=str_replace($elementos," ",$busqueda);
        
$busqueda=array_unique(explode(" ",$busqueda)); 
        
$busqueda=array_filter($busqueda,"filtro");//Filtra espacios. 
        
$busqueda=array_map("igualar",$busqueda);//Filtra espacios. 
        
sort($busqueda); 
        
$row=array_filter($row,"filtro");//Filtra espacios. 
        
$row=array_map("igualar",$row);//Filtra espacios. 
     
        
if(en_array($busqueda,$row)){ 
                
#echo"<b>Si hay coincidencias.</b><br />\n"; 
                
return true
            }else{ 
                
#echo"<b>No existe coincidencias</b><br />\n"; 
                
return false
            } 
    } 

function 
filtro($cad){ 
        if(
eregi("^ *$",$cad))return false;//No devolvemos el valor. 
        
return true;//Sino, la devuelve tal cual. 
    


function 
igualar($cad){ 
        return 
strtr(strtolower($cad),"áéíóúñ","aeioun"); 
    } 


function 
en_array($aguja,$pajar){ 
        for(
$busqueda=0;$busqueda<=count($aguja)-1;$busqueda++) 
            foreach(
$pajar as $paja
                if(
ereg($aguja[$busqueda],$paja)){ 
                        
$aguja[$busqueda]=true
                    }else{ 
                        
$aguja[$busqueda]=false
                    } 
        if(
array_sum($aguja)!=count($aguja)) 
                return 
false
            else 
                return 
true
    } 

?>
Si alguien pudiera decirme la solucionar para poder hacer el select a todos los campos, se lo agradecería.

Muchas gracias.
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 18:05.