Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema al mostrar arreglo en el autocompleado de un input

Estas en el tema de Problema al mostrar arreglo en el autocompleado de un input en el foro de PHP en Foros del Web. Buenos días, estoy tratando de programar una parte de autocompletado con el plugin de jquery, el problema que presento es que no me muestra ningún ...
  #1 (permalink)  
Antiguo 18/02/2015, 06:37
 
Fecha de Ingreso: septiembre-2011
Mensajes: 233
Antigüedad: 12 años, 7 meses
Puntos: 1
Problema al mostrar arreglo en el autocompleado de un input

Buenos días, estoy tratando de programar una parte de autocompletado con el plugin de jquery, el problema que presento es que no me muestra ningún resultado solo me dice esto cuando le coloco el 2do for, el siguiente error:

<b>Fatal error</b>: Maximum execution time of 30 seconds exceeded

el código que estoy utilizando es este:
Código PHP:
//se guarda en una variable el arreglo del archivo por cada linea
$archivo file('../archive.txt, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$cant=array();
for($i=0;$i<count($archivo;$i++)//se utiliza un for para mostrar todos los datos
{
$codigo='';//se resetea la variable que almacena el nombre del cliente
$datos=explode('    ',$archivo[$i]);//se guarda en un arreglo, cada linea con la separación
$codigo=$datos[4];
    if(!stristr(strtoupper($codigo),strtoupper($letra))==false)
{
if(empty($cant))
{
$cant[]=$codigo;
$cont=0;
}
for($i=0;$i<count($cant);$i++)
{
if(0==strcmp($codigo, $cant[$i]))
    {
        break;
    }else{
        $cont++;
    }
    if($cont>0)
    {
        $cant[]=$codigo;
        $cont=0;
    }

}

}

}
return $cant;
}
echo json_encode(buscar($_GET['
term])); 
Como podría hacer para que en arreglo me almacene todas las palabras que contenga la letra que estoy filtrando para el autocompletado del input?
  #2 (permalink)  
Antiguo 18/02/2015, 10:51
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 10 meses
Puntos: 379
Respuesta: Problema al mostrar arreglo en el autocompleado de un input

Cita:
<b>Fatal error</b>: Maximum execution time of 30 seconds exceeded
Las operaciones que intentas realizar están tomando mucho tiempo y tu script esta terminando prematuramente. mi consejo es que analices lo que haces e intentes optimizar o dale mas tiempo al script.
cuantos registros tiene tu archivo ?
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 18/02/2015, 12:23
 
Fecha de Ingreso: septiembre-2011
Mensajes: 233
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: Problema al mostrar arreglo en el autocompleado de un input

Cita:
Iniciado por hhs Ver Mensaje
Las operaciones que intentas realizar están tomando mucho tiempo y tu script esta terminando prematuramente. mi consejo es que analices lo que haces e intentes optimizar o dale mas tiempo al script.
cuantos registros tiene tu archivo ?
Hola hhs, tiene 600 registros, a la final lo que hice fue cambiar todo lo que habia programado en la parte del if con stristr, lo coloque así y si me funciona:

Código PHP:
if(!stristr(strtoupper($codigo),strtoupper($letra))==false)//verifico que la letra este dentro de la palabra
{
$cant[]=$codigo;//la guardo en un arreglo
}
             
 }
     
$resultado=array_unique($cant);//eliminos los indices repetidos
     
return $resultado;//retorno el arreglo 

Etiquetas: arreglo, input, variable
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 02:44.