Lo que estoy intentando implementar es un chat pero en lugar de utilizarlo con un documento .txt hacerlo con base de datos MySQL. El problema que estoy teniendo es que no se MUESTRAN los datos. Se insertan correctamente en la tabla pero luego no los puedo mostrar, aca les dejo los archivos:
muestra.php : El archivo que teóricamente debería mostrar lo que se extrajo de la base de datos.
Código PHP:
<?php
$link=mysql_connect("localhost", "root", "");
mysql_select_db("prueba",$link) OR DIE ("Error: No es posible establecer la conexión");
set_time_limit(0);
//$fpa = fopen("content.txt","r");
//$fpa = fgets($fpa);
$sql = "SELECT * FROM chat";
$ejecutar = mysql_query($sql, $link);
while ($row = mysql_fetch_row($ejecutar)){
$id= $row[3];
}
while(1){
//$fp = fopen("content.txt","r");
//$fp = fgets($fp);
$sql1 = "SELECT * FROM chat";
$ejecutar1 = mysql_query($sql1, $link);
while ($row1= mysql_fetch_row($ejecutar1)){
if ($row1[3] > $id){
echo "<strong>$row1[0]</strong> dijo: $row1[1]";
break;
}
}
sleep(1);
}
?>
Código PHP:
<?php
$link=mysql_connect("localhost", "root", "");
mysql_select_db("prueba",$link) OR DIE ("Error: No es posible establecer la conexión");
//$fp = fopen("content.txt","w");
$valor = $_POST['value'];
$nombre = ucfirst($_POST['nom']);
$insert = "INSERT INTO chat (nombre, mensaje, time, id) VALUES ('$nombre', '$valor', '' , '') ";
mysql_query($insert, $link);
//$valor = "<b>".$nombre."</b> : ".$valor;
//fwrite($fp,$valor);
?>
Y por último
index.php : Archivo que contiene el script de ajax donde deberían mostrarse los mensajes enviados por los usuarios y el textarea para enviar nuevos mensajes
Código PHP:
<?php
$link=mysql_connect("localhost", "root", "");
mysql_select_db("prueba",$link) OR DIE ("Error: No es posible establecer la conexión");
?>
<html>
<head>
<script type="text/javascript">
nombre = prompt("Introduce tu nombre");
function xhr(){
if(window.XMLHttpRequest){
return new XMLHttpRequest();
} else if(window.ActiveXObject){
return new ActiveXObject("Microsoft.XMLHTTP");
}
}
function mostrar(){
var peticion = xhr();
peticion.onreadystatechange = function () {
if(peticion.readyState == 4){
var detalles = document.getElementById("cont");
/* objDatos = eval("(" + cadCodificadaJSON + ")"); */
detalles.innerHTML= peticion.responseText;
setTimeout("mostrar()",1000);
}
}
peticion.open("POST","index.php",true);
peticion.send(null);
}
function crearquery(){
var texto = document.getElementsByTagName('textarea')[0].value;
var salida = "value=" + encodeURIComponent(texto) + "&nom=" + encodeURIComponent(nombre);
return salida;
}
function cambia(){
var peticion = xhr();
peticion.open("POST","introducir.php",true);
peticion.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
var query = crearquery();
peticion.send(query);
document.getElementsByTagName('textarea')[0].value = '';
}
window.onload = mostrar;
</script>
</head>
<body>
<textarea></textarea><br>
<button onclick="cambia();">Enviar</button>
<div id="cont"></div>
</body>
</html>
Bueno espero que hayan entendido el problema y puedan ayudarme.
Muchas gracias de antemano y saludos para todos.