Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/12/2010, 11:28
EriOsMurrugarra
 
Fecha de Ingreso: noviembre-2010
Ubicación: Barranca
Mensajes: 41
Antigüedad: 14 años, 2 meses
Puntos: 1
Ayuda con mi chat con mysql y ajax . La bd no se actualiza

hola. buen dia espero que me puedan ayudar.
estoy haciendo un minichat con jquery, mysql y php y tengo problemas al actualizar la bd.


El problema esta en lo siguiente.:

cuando yo añado un nuevo mensaje a la tabla mensajes. esta se añade pero al intentar recuperarla en ese mismo momento , no puedo recuperarla, porque si se añade a la base de datos pero no puedo recuperarla desde mi codigo php.



.. kiero actualizar el Div con Id chat.. llamando cada minuto a la base de datos
y recuperar el ultimo mensaje añadido a la tabla.



aki adjunto las fuentes para k me puedan ayudar,



index.html


<html>
<head><title>Chat Logeo</title></head>
<body>
<form action = "chat.php" method = "POST">
Usuario : <input type = "text" name = "username">
<input type = "submit" value = "Login">
</form>
</body>
</html>




chat.php

<?php
session_start();
session_register("user");


$_SESSION['user'] = $_POST['username'];

$user = $_SESSION['user'];
?>


<html>
<head><title><?php echo $user; ?> - Chateando</title>
<script type = "text/javascript" src = "jquery.js"></script>

<script type = "text/javascript">

function addMensaje(){

//$('#chat').load('add.php?messagetext=hola');

$.post('add.php',
$('#chatmessage').serialize(),
function(data){
// $('#chat').html(data);
});


}

function getMensajes(){


$.get('mensajes.php', function(dato){
$('#chat').html(dato);
});

window.setTimeout(getMensajes, 1000);
}



</script>

</head>

<body>

<div id = "chat" style = "height: 200px; overflow:auto;">
</div>

<form id= "chatmessage">
<textarea name = "message" id = "messagetext">
</textarea>
</form>

<input type = "button" value = "enviar" onclick = "addMensaje();">

<script type = "text/javascript">


$(document).ready(function(){



getMensajes();

});


</script>


</body>
</html>




add.php


<?php
session_start();
$conn = mysql_connect("localhost","root","");
mysql_select_db("chatbd",$conn);


$msj = $_POST["message"];
$user = $_SESSION["user"];

echo $user . " dice: " . $msj;


$sql = "insert into messages(user, message) values('$user', '$msj')";

mysql_query($sql, $conn);



?>




mensajes.php


<?php

$conn = mysql_connect("localhost","root","");
mysql_select_db("chatbd",$conn);

$rst = mysql_query("select * from messages", $conn);

$num = mysql_num_rows($rst);

$salida = "";

if($num > 0)
{
for($i = 0 ; $i < $num; $i++)
{
$salida .= mysql_result($rst, $i, 1) . " dice : " . mysql_result($rst, $i, 2) . "<br/>";

}


}


echo $salida;



?>