Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/05/2005, 22:08
Avatar de alucard3003
alucard3003
 
Fecha de Ingreso: abril-2004
Mensajes: 148
Antigüedad: 20 años, 1 mes
Puntos: 0
AYUDA: Maximum execution time of 30 seconds exceeded

bueno tengo un problema tengo q hacer un buscador y como no tengo ni la mas minima idea de como hacerlo he hecho una forma muy rustica pero como solo eran 6 criterios pense q seria facil, pero me da un error en el arreglo del sgt codigo:


Código PHP:
#creamos 2 arreglos, 1 con las variables a buscar y otro indice para saber a q campo pertenecen
                  
$array_a=array($apepat,$apemat,$codmod,$ce,$uge,$dre);
                  
$array_b=array("apepat","apemat","codmod","ce","uge","dre");
                  
$j=0;
                  
#buscamos si hay mas 1 campo no nulo para empezar a usar los ANDs en el query
                  
for ($i 0$i 5$i++) {if ($array_a[$i]!=null){$j=$j+1;}}
                  
$busqueda="SELECT apepat,apemat,codmod,especialidad,ce,codmodce,uge,dre,nota1,nota2,nota3,nota4 FROM $tabla WHERE (";
                  if (
$j<=1){$busqueda=$busqueda."apepat='$apepat' OR apemat='$apemat' OR codmod='$codmod' OR ce='$ce' OR uge='$uge' OR dre='$dre') ORDER BY codigo ASC LIMIT $liminf,$limsup";
                  }else{if (
$j>AND $j<6){for ($i 0$i 5$i++) {if ($array_a[$i]!=null){$busqueda=$busqueda.$array_b[$i]."='$array_a[$i]' AND ";}}
                                 
$busqueda=substr($busqueda,0,strlen($busqueda)-4);
                                 
$busqueda=$busqueda.") OR ";
                                 for (
$i 0$i 5$i++) {if ($array_a[$i]==null){$busqueda=$busqueda.$array_b[$i]."='$array_a[$i]' OR ";}}
                                 
$busqueda=substr($busqueda,0,strlen($busqueda)-4);
                                 }else{if (
$j==6){$busqueda=$busqueda."apepat='$apepat' AND apemat='$apemat' AND codmod='$codmod' AND ce='$ce' AND uge='$uge' AND dre='$dre')";}}
                        }
                  if (
$orden==null){$busqueda=$busqueda." ORDER BY codigo ASC LIMIT $liminf,$limsup";
                                    
$quer mysql_query ("$busqueda"$conexion);}
                                    else{
$busqueda=$busqueda."ORDER BY ".$orden." ASC LIMIT $liminf,$limsup";
                                         
$quer mysql_query ("$busqueda"$conexion);} 
Como veran mi problema es como poner un AND y como poner un OR por eso pense en esta forma rustica pero al correr el script me da este feo error:

Fatal error: Maximum execution time of 30 seconds exceeded en este primer for:
Código PHP:
                  for ($i 0$i 5$i++) {if ($array_a[$i]!=null){$j=$j+1;}} 
Ayudenme porfas
__________________
X