Foros del Web » Programando para Internet » PHP »

busqueda me cuelga la conexion de la pagina

Estas en el tema de busqueda me cuelga la conexion de la pagina en el foro de PHP en Foros del Web. hola tengo esta búsqueda de info de mysql por medio de ajax. El problema es que al hacer esta búsqueda de manera exhaustiva, osea, cuando ...
  #1 (permalink)  
Antiguo 21/01/2014, 09:04
Avatar de kakashi20  
Fecha de Ingreso: septiembre-2009
Mensajes: 616
Antigüedad: 14 años, 6 meses
Puntos: 15
Exclamación busqueda me cuelga la conexion de la pagina

hola

tengo esta búsqueda de info de mysql por medio de ajax.

El problema es que al hacer esta búsqueda de manera exhaustiva, osea, cuando estoy buscando muchos productos y escribiendo muchos nombre, la conexión de la pagina se cuelga y aparece en el navegador google chrome que se ha perdido la conexión con la pagina.

no se porque pasa esto.

si alguien me pudiese ayudar se lo agradeceria.

Form Búsqueda:

Código HTML:
Ver original
  1. <table border='0' width='348px'>
  2.             <tr height="50px">
  3.                 <td colspan='2' align='center' style="font-size:14px; font-weight:bold">Busqueda Productos</td>
  4.             </tr>
  5.            
  6.             <tr>
  7.                 <td width='50%' align="right">Nombre:</td>
  8.                 <td>
  9.                    <input type="text" name="nom" id="nom" onkeyup="BuscarProducto()" />
  10.                 </td>
  11.             </tr>
  12.        
  13.            
  14.            
  15.            
  16.            
  17.            
  18.            
  19.                
  20.         </table>
  21.        
  22.          
  23.     </form>
  24.  
  25. <div id="result" style="border:0px solid #F00; width:1000px"></div>


Ajax:


Código Javascript:
Ver original
  1. function BuscarProducto(){
  2.  
  3.    
  4.  
  5.  
  6.  
  7.     nom= $("#nom").val() ;
  8.  
  9.    
  10.  
  11.     str = "nom="+nom;
  12.  
  13.    
  14.  
  15.    
  16.  
  17.    
  18.  
  19.     $.ajax({
  20.  
  21.    
  22.  
  23.                
  24.  
  25.                
  26.  
  27.                 type: 'POST',
  28.  
  29.    
  30.  
  31.                 url: 'ListadoProductos2.php',
  32.  
  33.                
  34.  
  35.                 data: str,
  36.  
  37.    
  38.  
  39.                 success:function(msg){
  40.  
  41.    
  42.  
  43.                    
  44.  
  45.                            
  46.  
  47.                                
  48.  
  49.                                 $("#result").html(msg)
  50.  
  51.                            
  52.  
  53.                        
  54.  
  55.                        
  56.  
  57.    
  58.  
  59.                 }
  60.  
  61.    
  62.  
  63.                
  64.  
  65.    
  66.  
  67.     });
  68.  
  69.    
  70.  
  71.    
  72.  
  73.    
  74.  
  75.                        
  76.  
  77.    
  78.  
  79. }


pagina ListadoProductos2.php:

Código PHP:
Ver original
  1. <?
  2. include ('lib/claseBaseDatos.php');
  3.     $conexion = new ConexionBaseDatos;
  4.     $link = $conexion->Conectarse($conexion);
  5.    
  6.    
  7. ?> 
  8.  
  9. <style type="text/css">
  10. .fila_0 { background-color: #3C80EE; color:#fff}
  11. .fila_1 { background-color: #FFF;}
  12.  
  13.  
  14.  
  15.  
  16. </style>
  17.  
  18. <form>
  19.         <table border='0' width='348px'>
  20.             <tr height="50px">
  21.                 <td colspan='2' align='center' style="font-size:14px; font-weight:bold">Busqueda Productos</td>
  22.             </tr>
  23.            
  24.             <tr>
  25.                 <td width='50%' align="right">Nombre:</td>
  26.                 <td>
  27.                    <input type="text" name="nom" id="nom" onkeyup="BuscarProducto()" />
  28.                 </td>
  29.             </tr>
  30.            
  31.             <tr height="50px">
  32.                 <td colspan='2' align='center' style="font-size:12px; font-weight:bold">Rango de Precios de Ventas</td>
  33.             </tr>
  34.            
  35.             <tr>
  36.                
  37.                 <td colspan="2" align="center">
  38.                   Precio Menor: <input type="text" name="p1" id="p1" style="width:70px"  /> Precio Mayor:<input type="text" name="p2" id="p2" style="width:70px"  />
  39.                 </td>
  40.             </tr>
  41.            
  42.            
  43.            
  44.            
  45.             <tr>
  46.                
  47.                 <td colspan="2" align="center">
  48.                    <input type="button" value="Buscar por precio" onclick="BuscarProducto2()" />
  49.                 </td>
  50.             </tr>
  51.            
  52.            
  53.                
  54.         </table>
  55.         <br />
  56.         <div id="result" style="border:0px solid #F00; width:1000px">
  57.        
  58.         <table border='0' width="100%">
  59.             <tr>
  60.                 <td colspan='9' align='center' style="font-size:14px; font-weight:bold">Listado de productos</td>
  61.             </tr>
  62.  
  63.             <tr>
  64.            
  65.                 <td style="font-weight:bold">Producto</td>
  66.                 <td style="font-weight:bold">Precio Costo</td>
  67.                 <td style="font-weight:bold">Precio Venta</td>
  68.                 <td style="font-weight:bold">Cantidad</td>
  69.                 <td style="font-weight:bold">Garant&iacute;a</td>
  70.                 <td style="font-weight:bold">Fecha Ingreso</td>
  71.                 <td style="font-weight:bold">Descripci&oacute;n</td>
  72.                 <td style="font-weight:bold"></td>
  73.             </tr>
  74. <?
  75.             $query = mysql_query("select producto, precio_costo, precio_venta, cantidad, garantia, fecha_ingreso, descripcion, id from productos order by producto");
  76.             $i=0;
  77.             while($row = mysql_fetch_assoc($query)){
  78.                 echo "<tr class='fila_".($i%2)."'>";
  79.                    
  80.                     echo "<td> $row[producto] </td> ";
  81.                     echo "<td> $row[precio_costo] </td> ";
  82.                     echo "<td> $row[precio_venta] </td> ";
  83.                     echo "<td> $row[cantidad] </td> ";
  84.                     echo "<td> $row[garantia] </td> ";
  85.                     echo "<td> $row[fecha_ingreso] </td> ";
  86.                     echo "<td> $row[descripcion] </td> ";
  87.                     echo "<td><img src='img/edit.png' style='cursor:pointer' title='Editar' onclick='EditarProducto(".$row['id'].")'></td>";
  88.                 echo '</tr>';
  89.                 $i++;
  90.             }
  91.            
  92.    
  93. ?>         
  94.         </table>
  95.        
  96.        
  97.         </div>
  98.          
  99.     </form>
  #2 (permalink)  
Antiguo 21/01/2014, 09:09
Avatar de adryan310  
Fecha de Ingreso: septiembre-2012
Mensajes: 450
Antigüedad: 11 años, 7 meses
Puntos: 3
Exclamación Respuesta: busqueda me cuelga la conexion de la pagina

guarda todo el html en una variable php y al final dale un echo a la variable que contiene el html, una vez retornado los datos dale un append al div donde quieres presentar los datos, empieza por corregir esas pequeñas cosas...
  #3 (permalink)  
Antiguo 21/01/2014, 09:11
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 1 mes
Puntos: 96
Respuesta: busqueda me cuelga la conexion de la pagina

Si pudieses mostrar el codigo de tu clase de conexion
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #4 (permalink)  
Antiguo 21/01/2014, 09:40
Avatar de kakashi20  
Fecha de Ingreso: septiembre-2009
Mensajes: 616
Antigüedad: 14 años, 6 meses
Puntos: 15
Respuesta: busqueda me cuelga la conexion de la pagina

adryan310:

cual es la diferencia de hacer eso que me dices y lo que hago actualmente ?

eso mejora la optimizacion ?
  #5 (permalink)  
Antiguo 21/01/2014, 11:13
Avatar de adryan310  
Fecha de Ingreso: septiembre-2012
Mensajes: 450
Antigüedad: 11 años, 7 meses
Puntos: 3
Exclamación Respuesta: busqueda me cuelga la conexion de la pagina

Pues con base a las experiencia que he tenido yo con ajax si optimiza el rendimiento del retorno de datos y mas que eso, recuerda que la respuesta que debe de recibir el ajax es una respuesta PHP osea una respuesta del servidor, en mi caso una vez estaba retornando codigo html tal como tu lo estas haciendo y nunca me presento la tabla que estaba retornando a pesar de que le hacia al div correspondiente un .html tal como lo tienes lo cambie a .append y tampoco funko, corregi el problema retornando una respuesta como esta:
Código PHP:
$response  "<table>";
$response  .= "<tr>";
$response  .= "<td>test</td>";
$response  .= "</tr>";
$response  .= "</table>";

echo 
$response 
AJAX:
Código Javascript:
Ver original
  1. nom= $("#nom").val() ;
  2.     str = "nom="+nom;
  3.     $.ajax({
  4.                   type: 'POST',
  5.                   url: 'ListadoProductos2.php',
  6.                   data: str,
  7.                   success:function(msg){
  8.                       $("#result").append(msg)
  9.  
  10.                   }
  11.     });
  #6 (permalink)  
Antiguo 21/01/2014, 14:13
Avatar de kakashi20  
Fecha de Ingreso: septiembre-2009
Mensajes: 616
Antigüedad: 14 años, 6 meses
Puntos: 15
Exclamación Respuesta: busqueda me cuelga la conexion de la pagina

el detalle es que el append es para adicinar la info que retorno en la ultima linea del div donde retorno.

yo uso .html porque necesito reemplazar la info que esta por la que de resulta de la busqueda que hago.
  #7 (permalink)  
Antiguo 21/01/2014, 16:25
Avatar de kakashi20  
Fecha de Ingreso: septiembre-2009
Mensajes: 616
Antigüedad: 14 años, 6 meses
Puntos: 15
Exclamación Respuesta: busqueda me cuelga la conexion de la pagina

alguien que me pueda ayudar, por favor ??

gracias
  #8 (permalink)  
Antiguo 21/01/2014, 18:24
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 1 mes
Puntos: 96
Respuesta: busqueda me cuelga la conexion de la pagina

El problema que veo es que por cada letra presionada hace una consulta, envias un valor pero no lo ocupas, recuperas todos los datos desde bd
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #9 (permalink)  
Antiguo 21/01/2014, 21:44
Avatar de kakashi20  
Fecha de Ingreso: septiembre-2009
Mensajes: 616
Antigüedad: 14 años, 6 meses
Puntos: 15
Te podrías explicar mejor ? Gracias
  #10 (permalink)  
Antiguo 21/01/2014, 22:00
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: busqueda me cuelga la conexion de la pagina

Es simple: una consulta sin WHERE es de lo peor que puedes hacer, en cierto modo nunca utilizas el valor que recibes para filtrar la consulta.

Es decir, no importa lo que escribas, siempre haces la misma consulta, exactamente igual.

¿Qué tan complicado es entender esto?

Más claro ni el agua.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #11 (permalink)  
Antiguo 21/01/2014, 22:12
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 1 mes
Puntos: 96
Respuesta: busqueda me cuelga la conexion de la pagina

Haciendo esto mejora un poco
Código MySQL:
Ver original
  1. select producto, precio_costo, precio_venta, cantidad, garantia, fecha_ingreso, descripcion, id from productos where productos like '%$_POST[str]%' order by producto
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #12 (permalink)  
Antiguo 22/01/2014, 07:43
Avatar de kakashi20  
Fecha de Ingreso: septiembre-2009
Mensajes: 616
Antigüedad: 14 años, 6 meses
Puntos: 15
Exclamación Respuesta: busqueda me cuelga la conexion de la pagina

Gracias por las respuestas.

Teniendo la consulta con el like esta bien pero igual en cierto tiempo se cuelga ya que deja de hacer el retorno y recargo el navegador para confirmar si se perdió la conexión y efectivamente me sale que no se puede conectar con el sitio.
  #13 (permalink)  
Antiguo 22/01/2014, 12:44
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 1 mes
Puntos: 96
Respuesta: busqueda me cuelga la conexion de la pagina

Mi recomendacion es que al terminar de escribir el producto presiones enter para llamar a la funcion js, o en el php y js validar que se haga la consulta con un minimo de 4 caracteres
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.

Etiquetas: busqueda, conexion, cuelga, fecha, html, mysql, select
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 14:37.