Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/04/2010, 06:01
Klain
 
Fecha de Ingreso: abril-2010
Mensajes: 4
Antigüedad: 14 años
Puntos: 0
[Duda]Error al cargar los datos desde bd mysql

Haber por donde empiezo.

Estoy haciendo una pequeña aplicacion web bastante sencilla.En una parte de la aplicacion hay una pantalla que mediante xajax muestra e inserta datos en la base de datos. Y el error surge al ir a mostrar los datos. Deberia ser sencillo de ver, pero concretamente esa pantalla es copy paste de otra que funciona bien, por que tanto la base de datos como el codigo y el diseño son completamente iguales salvo por los nombres de la tabla y los campos.

Para que os hagais una idea, aqui esta la pagina: lafuzone.no-ip.org/ysf/
Podeis usar el usuario "David" con contraseña "Lafuente"
El error esta en la pantalla "duelos"

Por lo demas, tambien os dejo el codigo, primero de la pantalla mensajes que funciona correctamente y despues de la de duelos.

----------------------------------MENSAJES----------------------------------------
Código:
<?php
session_start();
if($_SESSION['usuario']=="" || $_SESSION['usuario']==null ){
    header ("Location: index.php"); 
}
include_once("xajax/xajax_core/xajax.inc.php");
include_once("conexion.php");
include_once("funcionesComunes.php");
$xajax = new xajax();

$xajax->setCharEncoding('ISO-8859-1');
$xajax->setFlag("decodeUTF8Input",true);

function mensajes($tipo){
    $respuesta = new xajaxResponse();
    $usuario=$_SESSION['usuario']; 
    if ($tipo=="E"){
        $consulta="SELECT emisor,titulo FROM mensajes WHERE receptor=".$usuario;
    }else{
        $consulta="SELECT receptor,titulo FROM mensajes WHERE emisor=".$usuario;
    }
    $res=mysql_query($consulta);
    if(mysql_num_rows($res)>0 ){
        while($fila=mysql_fetch_array($res)){
            $resultado[sizeof($resultado)]=$fila;
        }
        for($i=0;$i<sizeof($resultado);$i++){
            $resultado[$i][0]=nombreUsuarioPorId($resultado[$i][0]);
        }      
    }else{
        $resultado="No hay mensajes";
        if ($tipo=="E"){
            $resultado.=" entrantes.";
        }else{
            $resultado.=" salientes.";
        }
    }
    $respuesta->setReturnValue($resultado);
    return $respuesta;   
}
function enviarMensaje($titulo,$destinatario,$mensaje){
    $respuesta = new xajaxResponse();
    $usuario=$_SESSION['usuario'];
    $destinatario=idUsuarioPorNombre($destinatario);
    if ($destinatario!="Usuario Inexistente"){
        $consulta="INSERT INTO mensajes (emisor,receptor,titulo,texto) VALUES (".$usuario.",".$destinatario.",'".$titulo."','".$mensaje."')";
        $res=mysql_query($consulta);
        $resultado="El mensaje se envio correctamente";       
    }else{
        $resultado="El nombre del destinatario no existe";    
    }
    $respuesta->setReturnValue($resultado);
    return $respuesta;   
}

$xajax->register(XAJAX_FUNCTION,"mensajes");
$xajax->register(XAJAX_FUNCTION,"enviarMensaje");
$xajax->processRequest();
?>
<html>
<head>
<title>--Yo Soy Friki--Mensajes <?php echo nombreUsuarioPorId($_SESSION['usuario']); ?></title>
<script language="javascript" type="text/javascript" src="javascript.js"></script>
<?
$xajax->printJavascript("xajax");
?>
</head>
<body>
<div id="menu">
<input type="button" value="Entrada" onclick="mostrarMensajesEntrada()" /><input type="button" value="Salida" onclick="mostrarMensajesSalida()" /><input type="button" value="Nuevo" onclick="nuevoMensaje()"/><br />
</div>
<div id="bandeja">
</div>
</body>
</html>
---------------------------------------------------------------------------------------

-----------------------------------DUELOS------------------------------------------
Código:
<?php
session_start();
if($_SESSION['usuario']=="" || $_SESSION['usuario']==null ){
    header ("Location: index.php"); 
}
include_once("xajax/xajax_core/xajax.inc.php");
include_once("conexion.php");
include_once("funcionesComunes.php");
$xajax = new xajax();

$xajax->setCharEncoding('ISO-8859-1');
$xajax->setFlag("decodeUTF8Input",true);

function duelos($tipo){
    $respuesta = new xajaxResponse();
    $usuario=$_SESSION['usuario'];
    
    $consulta="SELECT retante,retado,titulo,aceptado FROM duelos ";  
    if ($tipo=="E"){
        $consulta.="WHERE aceptado=0 AND retado=".$usuario;
    }else{
       if ($tipo=="S"){
            $consulta.="WHERE aceptado=0 AND retante=".$usuario;
        }else{
            $consulta.="WHERE aceptado=1 and (retado=".$usuario." OR retante=".$usuario.")";
        }
    }
    $respuesta->alert($consulta);
    $res=mysql_query($consulta);
    $respuesta->alert($res);
    if($res!=false && $res!=null){
        if(mysql_num_rows($res)>0 ){
            while($fila=mysql_fetch_array($res)){
                $resultado[sizeof($resultado)]=$fila;
            }
            for($i=0;$i<sizeof($resultado);$i++){
                $resultado[$i][0]=nombreUsuarioPorId($resultado[$i][0]);
            }      
        }else{
            $resultado="No hay duelos";
            if ($tipo=="E"){
                $resultado.=" entrantes.";
            }else{
                if ($tipo=="S"){
                    $resultado.=" salientes.";
                }else{
                    $resultado.=" en curso.";
                }
            }
        }
    }else{
        $resultado="Error en la base de datos.";
        mysql_query("INSERT INTO errorLog (fecha,error) VALUES (getdate(),".mysql_error().")");
    }
    $respuesta->setReturnValue($resultado);
    return $respuesta;   
}
function enviarDuelo($titulo,$destinatario,$mensaje){
    $respuesta = new xajaxResponse();
    $usuario=$_SESSION['usuario'];
    $destinatario=idUsuarioPorNombre($destinatario);
    if ($destinatario!="Usuario Inexistente"){
        $consulta="INSERT INTO duelos (retante,retado,titulo,texto) VALUES (".$usuario.",".$destinatario.",'".$titulo."','".$mensaje."')";
        $res=mysql_query($consulta);
        $resultado="El duelo se envio correctamente";       
    }else{
        $resultado="El nombre del destinatario no existe";    
    }
    $respuesta->setReturnValue($resultado);
    return $respuesta;   
}

$xajax->register(XAJAX_FUNCTION,"duelos");
$xajax->register(XAJAX_FUNCTION,"enviarDuelo");
$xajax->processRequest();
?>
<html>
<head>
<title>--Yo Soy Friki--Duelos <?php echo nombreUsuarioPorId($_SESSION['usuario']); ?></title>
<script language="javascript" type="text/javascript" src="javascript.js"></script>
<?
$xajax->printJavascript("xajax");
?>
</head>
<body>
<div id="menu">
<input type="button" value="Recibidos" onclick="mostrarDuelosEntrada()" /><input type="button" value="Enviados" onclick="mostrarDuelosSalida()" /><input type="button" value="En Curso" onclick="mostrarDuelosCurso()" /><input type="button" value="Retar" onclick="nuevoDuelo()"/><br />
</div>
<div id="bandeja">
</div>
</body>
</html>
---------------------------------------------------------------------------------------

Lo unico raro que encontre es la respuesta que devuelve el mysql_query, que devuelve esto
" : htmlspecialchars() expects parameter 1 to be string, resource given in on line
Resource id #22"

Si necesitais cualquier otro dato me decis y a ver si hay suerte y me podeis almenos orientar un poco

Muchisimas gracias