Autor
|
Tema: busqueda cuelga conexión pagina (Leído 4,672 veces)
|
kakashi20
Desconectado
Mensajes: 435
|
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: <table border='0' width='348px'> <td colspan='2' align='center' style="font-size:14px; font-weight:bold">Busqueda Productos </td> <td width='50%' align="right">Nombre: </td> <input type="text" name="nom" id="nom" onkeyup="BuscarProducto()" /> <div id="result" style="border:0px solid #F00; width:1000px"></div>
Ajax: function BuscarProducto(){ nom= $("#nom").val() ; str = "nom="+nom; $.ajax({ type: 'POST', url: 'ListadoProductos2.php', data: str, success:function(msg){ $("#result").html(msg) } }); }
pagina ListadoProductos2.php: <? include ('lib/claseBaseDatos.php'); $conexion = new ConexionBaseDatos; $link = $conexion->Conectarse($conexion); ?> <style type="text/css"> .fila_0 { background-color: #3C80EE; color:#fff} .fila_1 { background-color: #FFF;} </style> <form> <table border='0' width='348px'> <tr height="50px"> <td colspan='2' align='center' style="font-size:14px; font-weight:bold">Busqueda Productos</td> </tr> <tr> <td width='50%' align="right">Nombre:</td> <td> <input type="text" name="nom" id="nom" onkeyup="BuscarProducto()" /> </td> </tr> <tr height="50px"> <td colspan='2' align='center' style="font-size:12px; font-weight:bold">Rango de Precios de Ventas</td> </tr> <tr> <td colspan="2" align="center"> Precio Menor: <input type="text" name="p1" id="p1" style="width:70px" /> Precio Mayor:<input type="text" name="p2" id="p2" style="width:70px" /> </td> </tr> <tr> <td colspan="2" align="center"> <input type="button" value="Buscar por precio" onclick="BuscarProducto2()" /> </td> </tr> </table> <br /> <div id="result" style="border:0px solid #F00; width:1000px"> <table border='0' width="100%"> <tr> <td colspan='9' align='center' style="font-size:14px; font-weight:bold">Listado de productos</td> </tr> <tr> <td style="font-weight:bold">Producto</td> <td style="font-weight:bold">Precio Costo</td> <td style="font-weight:bold">Precio Venta</td> <td style="font-weight:bold">Cantidad</td> <td style="font-weight:bold">Garantía</td> <td style="font-weight:bold">Fecha Ingreso</td> <td style="font-weight:bold">Descripción</td> <td style="font-weight:bold"></td> </tr> <? $query = mysql_query("select producto, precio_costo, precio_venta, cantidad, garantia, fecha_ingreso, descripcion, id from productos order by producto"); $i=0; echo "<tr class='fila_".($i%2)."'>"; echo "<td> $row[producto] </td> "; echo "<td> $row[precio_costo] </td> "; echo "<td> $row[precio_venta] </td> "; echo "<td> $row[cantidad] </td> "; echo "<td> $row[garantia] </td> "; echo "<td> $row[fecha_ingreso] </td> "; echo "<td> $row[descripcion] </td> "; echo "<td><img src='img/edit.png' style='cursor:pointer' title='Editar' onclick='EditarProducto(".$row['id'].")'></td>"; echo '</tr>'; $i++; } ?> </table> </div> </form>
|
|
|
En línea
|
|
|
|
el-brujo
|
tienes que mostrar los errores del php por panatalla para poder ver el error exacto, si no es imposible adivinar lo que está fallando. Seguramente sea un timeout del script php que si tarda más de x segundos (30 por defecto) pierde la conexión. Añade a tu script php: error_reporting(E_ALL); ini_set('display_errors', 1);
|
|
|
En línea
|
|
|
|
kakashi20
Desconectado
Mensajes: 435
|
no muestra ningun error colocando esa linea de codigo
ya que cuando estoy escribiendo el nombre del producto que deseo buscar en el text este deja de hacer el retorno por ajax de la info, y entonces es ahi cuando me doy cuenta que se bloquea ya que actualizo el navegador y me dice que se ha producido un error al carga la url.... eston en el navegador de google chrome.
|
|
|
En línea
|
|
|
|
kakashi20
Desconectado
Mensajes: 435
|
alguna sugerencia ?
alguien que me pueda ayudar por favor ?
|
|
|
En línea
|
|
|
|
Shell Root
|
Pues si no muestra ningun error, parece que todo estaba bien... Sólo por curiosidad, -quizás sea error mio de vista-, para que envias el parametro nom si no lo usarás? Tambien creo que es la cantidad de HTML que recibes. 1. Ejecuta la query principal en el MySQL y verifica que no este fallando y que si sea los datos que necesitas, porque creo que debería ser así: $sql = "SELECT producto, precio_costo, precio_venta, cantidad, garantia, fecha_ingreso, descripcion, id "; $sql .= " FROM productos "; $sql .= " WHERE nombre = '".$_POST['nom']."' "; $sql .= "ORDER BY producto";
2. Validar los datos a mostrar, es decir, hacer un ALERT(); a la variable que retorna. // # Pon un comentario en la linea // $("#result").html(msg) // # y pon un alert así: alert(msg);
Dudo que lo muestre completo ya que sería mucho texto para un alert 3. Se supone que realiza la busqueda y despues al actualizar el navegador, es donde se "cae la conexión", entonces, mira el código fuente y checas si se ha insertado algún contenido.
|
|
« Última modificación: 22 Enero 2014, 00:02 am por @shellroot »
|
En línea
|
Te vendería mi talento por poder dormir tranquilo.
|
|
|
kakashi20
Desconectado
Mensajes: 435
|
La idea de la búsqueda es que al ir escribiendo cada letra de la palabra que quiero buscar esta vaya buscando en la bd, por eso el sql es con un like . Se pierde la conexión porque a medida que escribo la palabra está ya deja de retornar resultado y recargó el navegador para verificar que la conexión con el sitio esté bien, pero efectivamente esta se cae.
|
|
|
En línea
|
|
|
|
Shell Root
|
Estamos tratando de buscar el error, antes de ver la programación como tal. 1. Donde está es like? 2. Cuando escribes la primer letra, te muestra resultados? Pues dijistes que cuando después ya deja de retornar.
|
|
|
En línea
|
Te vendería mi talento por poder dormir tranquilo.
|
|
|
kakashi20
Desconectado
Mensajes: 435
|
si si, me equivoque al escribir el codigo. la consulta es $query = mysql_query("select producto, precio_costo, precio_venta, cantidad, garantia, fecha_ingreso, descripcion, id from productos WHERE producto like '%".$nom."%'");
cuando escribo la primera letra el hace el retorno. pero llega a cierto momento en estoy escribiendo las letras o palabras y deja de hacer el retorno. y para confirmar que se haya caido la conexion actualizo el navegador y efectivamente dice que no se puede conectar al sitio
|
|
|
En línea
|
|
|
|
Shell Root
|
Supongo que entre más letras ingreses menos registros debería de mostrar! Entonces deberías de NO realización la petición por ajax, y hacerlo directamente en el archivo de ListadoProductos2.php, ingresas los mismos valores y verifica donde está fallando.
Lo otro que veo qué, por cada letra que escribres abres una conexión, no entiendo eso para qué.
|
|
|
En línea
|
Te vendería mi talento por poder dormir tranquilo.
|
|
|
kakashi20
Desconectado
Mensajes: 435
|
tal vez el abrir una conexión por cada letra que escribo sature el sistema, pero como podría hacer para no hacer esto ? aunque yo creo que es necesario abrirla para buscar en la bd..
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
(SOLUCIONADO) ¿Como crear un motor de búsqueda de una página?
Dudas Generales
|
SuperDraco
|
1
|
5,111
|
9 Mayo 2011, 21:37 pm
por SuperDraco
|
|
|
Conexión SSH a través de la búsqueda de Unity
Noticias
|
wolfbcn
|
0
|
1,394
|
13 Abril 2012, 14:17 pm
por wolfbcn
|
|
|
Google experimenta con un nuevo diseño de la página de búsqueda
Noticias
|
wolfbcn
|
0
|
1,655
|
21 Junio 2012, 14:55 pm
por wolfbcn
|
|
|
Login con Gecko en pagina y búsqueda de una palabra dentro la de pagina
.NET (C#, VB.NET, ASP)
|
GEORGEFRT
|
1
|
2,367
|
1 Diciembre 2016, 14:47 pm
por Eleкtro
|
|
|
En búsqueda de una Página Web
Software
|
AgueroMilano
|
4
|
1,806
|
18 Diciembre 2018, 13:27 pm
por AgueroMilano
|
|