Problema al leer DB mysql en php, algo del codigo esta mal.

Iniciado por XXXXXX, 19 Mayo 2010, 23:08 PM

0 Miembros y 1 Visitante están viendo este tema.

XXXXXX

Bueno, les cuento....

Encontre un sistema de comentarios algo anticuado pero funcional para lo que yo requiero...

resulta que en localhost funciona que ni pintado, pero por alguna razon en el host web, no funciona, digamos que si, envia los comentarios a la db pero no los recibe.

que parte del codigo os tendria que mostrar? yo os pongo los que creo, que puedan probocar algun fallo o algo...


EL JABASCRIPT

var UltFec;

function objetoAjax(){
var xmlhttp=false;
try{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(E){
xmlhttp = false;
  }
}

if(!xmlhttp && typeof XMLHttpRequest!='undefined'){
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}

function enviarMensaje(){
usu=document.nuevo_empleado.usuario.value;
men=document.nuevo_empleado.mensaje.value;
ajax=objetoAjax();
ajax.open("POST", "registro.php",true);
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
consultaMensajes();
document.nuevo_empleado.mensaje.value="";
document.nuevo_empleado.mensaje.focus();
}
}
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
ajax.send("usuario="+usu+"&mensaje="+men)
}



function consultaMensajes(){
divResultado = document.getElementById('pagina');
ajax=objetoAjax();
ajax.open("GET", "consulta.php?ultfec="+UltFec,true);
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
//divResultado.innerHTML=ajax.responseText;
var datos=ajax.responseXML.documentElement;
for (i = 0; i < datos.getElementsByTagName('elemento').length; i++){
var item = datos.getElementsByTagName('elemento')[i];
var fec = item.getElementsByTagName('fecha')[0].firstChild.data;
var usu = item.getElementsByTagName('usuario')[0].firstChild.data;
var men = item.getElementsByTagName('mensaje')[0].firstChild.data;

var linea='<div class="c_fecha">'+fec+'</div><div class="c_usuario">'+usu+'</div><div class="c_mensaje">'+men+'</div>';
CrearCaja(linea);
}
//si ultima fecha esta definida se usará
//caso contrario se dejara con su valor anterior
if(typeof fec!='undefined'){
UltFec=fec;
}
}

}
ajax.send(null)
//cada 3 segundos consulta por nuevos mensajes
setTimeout('consultaMensajes();',3000);
}

window.onload = function (){
consultaMensajes();
}


LA CONSULTA PHP

<?php
require("conexion.php");

$UltFecha=$_GET['ultfec'];
if(
$UltFecha=='undefined'){
$query "SELECT * FROM ngerelewal ORDER BY fecha ASC";
}else{
$query "SELECT * FROM ngerelewal WHERE fecha>'$UltFecha' ORDER BY fecha ASC";
}
$lista mysql_query($query,$con);
$i=1;

// no cargar de la cache del navegador.
header"Expires: Mon, 26 Jul 1997 05:00:00 GMT" ); 
header"Last-Modified: " gmdate"D, d M Y H:i:s" ) . "GMT" ); 
header"Cache-Control: no-cache, must-revalidate" ); 
header"Pragma: no-cache" );
header('Content-type: text/xml; charset=UTF-8'true);
echo 
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>
\n";
echo "<xml>";
while($row = mysql_fetch_array($lista)){
  echo "<elemento> \n";
  echo " <fecha>".$row['fecha']."</fecha> \n";
  echo " <usuario>".$row['usuario']."</usuario> \n";
  echo " <mensaje>".$row['mensaje']."</mensaje> \n";
  echo "</elemento> \n";
  $i++;
}
echo "</xml>";
?>


hay otro mas, pero creo que ese no se encarga de nada

function CrearCaja(texto){
//contenedor principal
var pagina=document.getElementById('pagina');

//creando nuevo div
var cajaNueva=document.createElement('div');
//creando texto del div con mensaje de la caja de texto

//asignandoles atributos
cajaNueva.setAttribute('className','caja'); //para IE
cajaNueva.setAttribute("class", "caja");

//llenando la caja nueva
cajaNueva.innerHTML=texto;

//insertar antes del primer elemento de pagina
pagina.insertBefore(cajaNueva,pagina.firstChild);

//elimiar el ultimo elemento
EliminarCaja();
}

//remueve el ultimo elementos si estos superan los 10
function EliminarCaja(){
var pagina=document.getElementById('pagina');
elementos=pagina.childNodes;
if(elementos.length>10){
pagina.removeChild(pagina.lastChild);
}
}


diria yo que se encarga de poner los mensajes en su sitio y del maximo de mensajes mostrados..


Pues eso es todo, algo falla ai, y no me lee la database, que en teoria se llama Comentarios.


saludos

Shell Root

Cita de: tomeu00 en 19 Mayo 2010, 23:08 PMEL JABASCRIPT
Es javascript!


Que clase de error te da? Que hace?
Cita de: tomeu00 en 19 Mayo 2010, 23:08 PM...digamos que si, envia los comentarios a la db pero no los recibe...
No entiendo?
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Skeletron

Porque no lo haces tu? No es nada de otro mundo.
Ganas 2 cosas:
Saber donde estan los errores
Experiencia

Shell Root

Cita de: Skeletron en 20 Mayo 2010, 02:59 AMPorque no lo haces tu? No es nada de otro mundo.
? Por algo pide ayuda, no?

Y si no es nada del otro mundo, porque no le das la solución, apoco aquí no se te ha ayudado en tus trabajos?
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Skeletron

Claro que si.
Él pide ayuda con ese codigo, y yo le digo que lo haga él. Que no lo copie...

Si quiere ayuda a hacer uno él mismo, ahí lo ayudaré.. pero no veo que pregunte eso :)

Y no te hagas el malo porque sos cualquiera respondiendo esas trolleadas

Shell Root

Cita de: Skeletron en 20 Mayo 2010, 04:15 AMSi quiere ayuda a hacer uno él mismo, ahí lo ayudaré.. pero no veo que pregunte eso :)
Porque re-inventar la rueda si ya existe?


Cita de: Skeletron en 20 Mayo 2010, 04:15 AMY no te hagas el malo porque sos cualquiera respondiendo esas trolleadas
bla bla bla bla...
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Skeletron

Para conocer como se hacenn las ruedas, hay que re hacerlas.

MinusFour

Creo que el error puede estar en la query, prueba a hacer echo a la query para ver que consulta hace finalmente y si puedes compruebala por consola.

XXXXXX

siento pedir ayuda de nuevo, pero no se donde tendria que poner ese query....


segun los amigos de mas arriba, uno en concreto, no se nace aprendido, y tardaria bastante a mi paso, reconociendo codigo a hacer un sistema como ese con mis manos..

y como dijo el de mas arriba para que re-inventar la rueda.

Mas adelante ya lo aprendere pero ahora necesito esto funcionando ya que no tengo tanto tiempo como quiero para terminar la web.

saludos

MinusFour

Código (php) [Seleccionar]
require("conexion.php");

$UltFecha=$_GET['ultfec'];
if($UltFecha=='undefined'){
$query = "SELECT * FROM ngerelewal ORDER BY fecha ASC";
}else{
$query = "SELECT * FROM ngerelewal WHERE fecha>'$UltFecha' ORDER BY fecha ASC";
}

//Echo

echo "<h1>$query</h1>";


Y por mucho que tengas que terminar la pagina, por tiempo o cualquier otra razón, trata de aprender :/, que al final de cuentas cuando vienes al foro a pedir ayuda, los que te responden son para enseñar y corregir, no para hacerte el trabajo...