Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Problema conexion mysql

Estas en el tema de Problema conexion mysql en el foro de Frameworks JS en Foros del Web. Buenas noches. Estoy desarrollando una web con AJAX y PHP. Bien al cargar la web para cargar el menu conecta con la bd perfectamente. Luego ...
  #1 (permalink)  
Antiguo 26/06/2010, 21:17
 
Fecha de Ingreso: agosto-2007
Ubicación: Las Palmas de Gran Canaria
Mensajes: 50
Antigüedad: 17 años, 3 meses
Puntos: 0
Problema conexion mysql

Buenas noches.

Estoy desarrollando una web con AJAX y PHP. Bien al cargar la web para cargar el menu conecta con la bd perfectamente. Luego al yo clicar sobre uno de los menus el va a su script php y abre la base de datos realiza la consulta pero se queda pillado... Cuando comento las lineas que conectan con la base de datos me hace el resto del script que no usa información de la base de datos.

Me he fijado que estoy usando el mysql_connect y al final de cada script de php hago el correspondiente mysql_close()

La verdad que no se que puede ser. la sintaxis de la conexión a la base de datos es exactamente igual al del primer script que se ejecuta para crear el listado del menu.

Esperando una ayuda, muchas gracias.
  #2 (permalink)  
Antiguo 27/06/2010, 01:34
 
Fecha de Ingreso: noviembre-2006
Mensajes: 166
Antigüedad: 18 años
Puntos: 4
Respuesta: Problema conexion mysql

¿Puedes poner el código, para que veamos qué puede haber mal?
  #3 (permalink)  
Antiguo 27/06/2010, 03:08
 
Fecha de Ingreso: agosto-2007
Ubicación: Las Palmas de Gran Canaria
Mensajes: 50
Antigüedad: 17 años, 3 meses
Puntos: 0
Respuesta: Problema conexion mysql

bueno acabo de mirar el código y acabo de descubrir una cosilla.

esta es la funcion a la que se llama para recibir la informacion (usando AJAX):

hago esta llamada desde el onclick del <li> del menu:

Código:
lanzarAJAX('secNoticias.php?var=6','contenido','GET','Cargando...',null)
Código:
function lanzarAJAX(urlphp,destino,metodo,feedback,strContent)
{
document.getElementById(destino).innerHTML=feedback;
var http = gethttp();
var srand="rand="+parseInt(Math.random()*999999999999999);
var urlModify=modUrlPhp(urlphp,srand);
if (metodo=="GET"){
http.open(metodo,urlModify,true);
http.onreadystatechange=function() {respuestaAJAX(destino,http);};
http.send(null);
}else{
http.open(metodo,urlModify,true);
http.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
http.setRequestHeader("Contect-Length",strContent.length); //se le pasa el tamaño del string de los datos del formulario
http.onreadystatechange=function() {respuestaAJAX(destino,http);};
http.send(strContent);}
}
en la funcion respuesta del servidor (usando AJAX):

Código:
function respuestaAJAX(destino,http)
{
if (http.readyState==4){
	if(http.status==200){
		var miTexto=http.responseText;
		document.getElementById(destino).innerHTML=miTexto;
	}
}else {document.getElementById(destino).innerHTML="algún error hubo";}
}
antes para el else tenía puesto que no pusiera ningún mensaje y ahora puse que notificara "agún error hubo".

Pues en pantalla me aparece este mensaje. Con lo cual hubo algún error con la recepción de los datos ... como podría saber exactamente cual es el problema?

aqui teneis el codigo php.

Código PHP:
<?php
$db
=mysql_connect("localhost",usuario,password);
if(!
$db){echo "No se puede conectar con la base de datos"; exit;}
mysql_select_db("oje",$db);
$consulta="select * from noticias where id_menu=".$_GET["var"];
echo 
$consulta;
$resultado=mysql_query($consulta);
$row=mysql_fetch_array($resultado);
if(
$row<=0){
echo 
"No hay noticias";}else{
while(
$row)
{
echo 
"<div id=\"noticia\">";
echo 
"<h1>".$row["cabecera"]."</h1>";
echo 
"<p>".$row["cuerpo"]."</p>";
if(
$row["fecha_Mod"]!=null){
echo 
"<span id=\"fechas\">Última Modificación: ".$row["fecha_Mod"]."  |  Fecha de Publicación: ".$row["fecha"]."</span>";}else{
echo 
"<span id=\"fechas\">Fecha de Publicación: ".$row["fecha"]."</span>";}
echo 
"</div>";
}}
mysql_close($db);
?>
Acabo de probar a que me muestre con un alert el readyState cuando hago clic en el li de Noticias y se me queda en un bucle con el readyState en 3, o sea procesando la respuesta ......

Última edición por a1000kr; 27/06/2010 a las 03:25
  #4 (permalink)  
Antiguo 27/06/2010, 06:02
 
Fecha de Ingreso: agosto-2007
Ubicación: Las Palmas de Gran Canaria
Mensajes: 50
Antigüedad: 17 años, 3 meses
Puntos: 0
Respuesta: Problema conexion mysql

Ya lo he solucionado, el problema es que estaba usando un while cuando debía usar un do-while en el script php para que al menos me hiciera el primero y luego si hay más pues siga.
  #5 (permalink)  
Antiguo 27/06/2010, 10:43
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Tema movido desde PHP a AJAX

Etiquetas: ajax, conexion, 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 18:13.