Foros del Web » Programando para Internet » PHP »

Liberar Memoria buscador

Estas en el tema de Liberar Memoria buscador en el foro de PHP en Foros del Web. Buenos días. Tengo un problema de sobrecarga de memoria. Estoy utilizando un código para hacer una búsqueda en base de datos y cargas diferentes textbox ...
  #1 (permalink)  
Antiguo 07/02/2017, 07:47
 
Fecha de Ingreso: marzo-2012
Ubicación: Rosario
Mensajes: 108
Antigüedad: 12 años
Puntos: 0
Pregunta Liberar Memoria buscador

Buenos días.
Tengo un problema de sobrecarga de memoria.
Estoy utilizando un código para hacer una búsqueda en base de datos y cargas diferentes textbox con su resultado.
Las primeras búsquedas la hace rápidamente, pero a medida que busco más términos empieza a costar traer los resultados.

Aquí los códigos:
En pagina principal:
Código Javascript:
Ver original
  1. <script src="jquery-ui-1-12-1/jquery-3.1.1.min.js"></script>
  2.   <script src="jquery-ui-1-12-1/jquery-ui.min.js"></script>
  3.   <script type="text/javascript">
  4. $(function() {
  5.             $("#nombre").autocomplete({
  6.                 source: "pedir_datos.php",
  7.                 minLength: 2,
  8.                 select: function(event, ui) {
  9.                     event.preventDefault();
  10.                     $('#nombre').val(ui.item.nombre);
  11.                     $('#grado').val(ui.item.grado);
  12.                     $('#id').val(ui.item.id);
  13.                  }
  14.                  
  15.             });
  16.            
  17.            
  18.         });
  19. </script>
Código HTML:
Ver original
  1. <div class="ui-widget"> <input type="text" size="18"  id="nombre" name="nombre" autofocus="autofocus" placeholder="Buscar" class="sugerencias"></div>

Pagina de búsqueda (pedir_datos.php):
Código PHP:
Ver original
  1. $busqueda = $_GET['term'];
  2.  
  3.  
  4. if ($busqueda != ""){
  5.     # conectare la base de datos
  6.    $con=@mysqli_connect("localhost", "root", "1234", "escuela");
  7.    
  8. $return_arr = array();
  9. /* Si la conexión a la base de datos , ejecuta instrucción SQL. */
  10.  
  11. if ($con)
  12. {
  13.  
  14.  
  15.     $fetch = mysqli_query($con,"SELECT * FROM alumnado where nombre like '%".$busqueda."%' ORDER BY id");
  16.    
  17.     /* Recuperar y almacenar en conjunto los resultados de la consulta.*/
  18.     while ($row = mysqli_fetch_array($fetch)) {
  19.    
  20.        
  21.                
  22.         $row_array['value'] = $row['nombre']." | ".$row['grado'];
  23.         $row_array['id']=$row['id'];
  24.         $row_array['nombre']=$row['nombre'];
  25.         $row_array['grado']=$row['grado'];
  26.        
  27.        
  28.         array_push($return_arr,$row_array);
  29.     }
  30.  
  31. }
  32.  
  33. /* Cierra la conexión. */
  34.  
  35. /* Codifica el resultado del array en JSON. */
  36. echo json_encode($return_arr);

Gracias por la ayuda!
  #2 (permalink)  
Antiguo 07/02/2017, 07:59
Avatar de petit89  
Fecha de Ingreso: marzo-2011
Mensajes: 1.135
Antigüedad: 13 años, 1 mes
Puntos: 170
Respuesta: Liberar Memoria buscador

http://php.net/manual/es/mysqli-result.free.php
__________________
█ WebHosting / Reseller a bajo costo | Uptime Garantizado | Soporte en Español e Ingles
¿Te sirvió la respuesta? Deja un +1 (Triangulo negro al lado derecho)
  #3 (permalink)  
Antiguo 07/02/2017, 08:15
 
Fecha de Ingreso: marzo-2012
Ubicación: Rosario
Mensajes: 108
Antigüedad: 12 años
Puntos: 0
Respuesta: Liberar Memoria buscador

Hola Petit.
Probé anteriormente con mysqli_free_result y ni me trae resultados.
Gracias igualmente por tu respuesta.
  #4 (permalink)  
Antiguo 07/02/2017, 08:24
 
Fecha de Ingreso: marzo-2012
Ubicación: Rosario
Mensajes: 108
Antigüedad: 12 años
Puntos: 0
Respuesta: Liberar Memoria buscador

Creo que el problema viene en la pagina principal, quedan alojados los datos de los resultados en la memoria y no se como eliminarlos

Etiquetas: buscador, json, mysql
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 15:55.