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

problemas de publicacion del XML con PHP?

Estas en el tema de problemas de publicacion del XML con PHP? en el foro de Frameworks JS en Foros del Web. HOLA GENTE... Ante todo gracias por la ayuda que puedan brindarme. He partido de tu javascript publicado en este foro de AJAX para el desarrollo ...
  #1 (permalink)  
Antiguo 26/07/2005, 06:18
 
Fecha de Ingreso: julio-2003
Mensajes: 71
Antigüedad: 20 años, 9 meses
Puntos: 0
problemas de publicacion del XML con PHP?

HOLA GENTE...

Ante todo gracias por la ayuda que puedan brindarme.

He partido de tu javascript publicado en este foro de AJAX para el desarrollo de mi primer script en esta nueva tecnologia, y me he encontrado con un problema.

El problema es que al llegar a contar la cantidad de RESULTADOS encontrados en la base de datos desde el XML...

var total = http.responseXML.getElementsByTagName('linea').len gth;

la variable total me devuelve 0 (cero). Lo que me da a pensar que estaria mal la publicacion del XML en el PHP que genera la consulta.

Les paso el codigo PHP para lo que puedan ayudarme.


$sql = "select * from marcas";

$result = mysql_query($sql);
echo mysql_error();
//echo mysql_error();
if (mysql_num_rows($result) == 0) {

echo "la tabla esta vacia";
}else{
$string = '';
$string = "<MARCAS>\n";
while ($row = mysql_fetch_row($result)){
//$string .= $row[1].','.$row[0].',';
$string .= "<LINEA>\n";
$string .= "<COL1>".$row[1]."</col1>\n";
$string .= "<COL2>".$row[0]."</col2>\n";
$string .= "</linea>\n";
}

$string .= "</MARCAS>\n";

echo $string;
}


Desde ya muchas gracias....
  #2 (permalink)  
Antiguo 26/07/2005, 08:20
Avatar de xcars  
Fecha de Ingreso: mayo-2005
Ubicación: El Salvador
Mensajes: 753
Antigüedad: 18 años, 11 meses
Puntos: 4
Cita:
Iniciado por killaton
HOLA GENTE...

Ante todo gracias por la ayuda que puedan brindarme.

He partido de tu javascript publicado en este foro de AJAX para el desarrollo de mi primer script en esta nueva tecnologia, y me he encontrado con un problema.

El problema es que al llegar a contar la cantidad de RESULTADOS encontrados en la base de datos desde el XML...

var total = http.responseXML.getElementsByTagName('linea').len gth;

la variable total me devuelve 0 (cero). Lo que me da a pensar que estaria mal la publicacion del XML en el PHP que genera la consulta.

Les paso el codigo PHP para lo que puedan ayudarme.


$sql = "select * from marcas";

$result = mysql_query($sql);
echo mysql_error();
//echo mysql_error();
if (mysql_num_rows($result) == 0) {

echo "la tabla esta vacia";
}else{
$string = '';
$string = "<MARCAS>\n";
while ($row = mysql_fetch_row($result)){
//$string .= $row[1].','.$row[0].',';
$string .= "<LINEA>\n";
$string .= "<COL1>".$row[1]."</col1>\n";
$string .= "<COL2>".$row[0]."</col2>\n";
$string .= "</linea>\n";
}

$string .= "</MARCAS>\n";

echo $string;
}


Desde ya muchas gracias....
y cuando mandas a imprimir el $string que es lo que te devuelve?? puedes ponerlo aqui?
__________________
Con Microaplicaciones puedes hacer tu tienda en línea de forma sencilla y rápida, sin costos ocultos y con mucha responsabilidad.
  #3 (permalink)  
Antiguo 26/07/2005, 08:41
 
Fecha de Ingreso: julio-2003
Mensajes: 71
Antigüedad: 20 años, 9 meses
Puntos: 0
Hola xcars...

gracias por tu interes.
Te cuento, lo que me devuelve es algo como esto...

<MARCAS>
<LINEA>
<COL1> blablabla<COL1>
<COL2> 1<COL2>
</LINEA>
<LINEA>
<COL1> blablabla<COL1>
<COL2> 2<COL2>
</LINEA>
<LINEA>
....
</LINEA>
</MARCAS>

Aclaro que es lo que entendi que deberia devolver el PHP para ser interpretado como XML por

http.responseXML.getElementsByTagName('linea')

por lo tanto....

var total = http.responseXML.getElementsByTagName('LINEA').len gth;

en la variable javascript total deberia tener cargado la cantidad de tags LINEA encontradas.... o no?

gracias nuevamente
  #4 (permalink)  
Antiguo 26/07/2005, 08:43
Avatar de xcars  
Fecha de Ingreso: mayo-2005
Ubicación: El Salvador
Mensajes: 753
Antigüedad: 18 años, 11 meses
Puntos: 4
Cita:
Iniciado por killaton
Hola xcars...

gracias por tu interes.
Te cuento, lo que me devuelve es algo como esto...

<MARCAS>
<LINEA>
<COL1> blablabla<COL1>
<COL2> 1<COL2>
</LINEA>
<LINEA>
<COL1> blablabla<COL1>
<COL2> 2<COL2>
</LINEA>
<LINEA>
....
</LINEA>
</MARCAS>

Aclaro que es lo que entendi que deberia devolver el PHP para ser interpretado como XML por

http.responseXML.getElementsByTagName('linea')

por lo tanto....

var total = http.responseXML.getElementsByTagName('LINEA').len gth;

en la variable javascript total deberia tener cargado la cantidad de tags LINEA encontradas.... o no?

gracias nuevamente
perdon, quiza me explique mal me referia a que si ya corriste tu script y chequeaste que devuelve el XML que deseas....
__________________
Con Microaplicaciones puedes hacer tu tienda en línea de forma sencilla y rápida, sin costos ocultos y con mucha responsabilidad.
  #5 (permalink)  
Antiguo 26/07/2005, 09:10
 
Fecha de Ingreso: julio-2003
Mensajes: 71
Antigüedad: 20 años, 9 meses
Puntos: 0
hola xcars...

o Quiza entendi mal yo...

en realidad la forma de chequearlo que encontre es la siguiente...

results = http.responseText;
alert(result);


y efectivamente me muestra la publicacion que te mencione anteriormente.
  #6 (permalink)  
Antiguo 26/07/2005, 10:37
 
Fecha de Ingreso: noviembre-2002
Mensajes: 24
Antigüedad: 21 años, 5 meses
Puntos: 0
Un par de cosas:

- En xml "linea" no es lo mismo que "LINEA", mira también el php.
- Chequea que te devueva xml ejecutando el php.

Un saludo
  #7 (permalink)  
Antiguo 26/07/2005, 10:50
Avatar de xcars  
Fecha de Ingreso: mayo-2005
Ubicación: El Salvador
Mensajes: 753
Antigüedad: 18 años, 11 meses
Puntos: 4
Cita:
Iniciado por killaton
hola xcars...

o Quiza entendi mal yo...

en realidad la forma de chequearlo que encontre es la siguiente...

results = http.responseText;
alert(result);


y efectivamente me muestra la publicacion que te mencione anteriormente.
si, pero response text significa que te devuelve un texto no un XML, que es lo que queres hacer realmente?
__________________
Con Microaplicaciones puedes hacer tu tienda en línea de forma sencilla y rápida, sin costos ocultos y con mucha responsabilidad.
  #8 (permalink)  
Antiguo 26/07/2005, 12:25
 
Fecha de Ingreso: julio-2003
Mensajes: 71
Antigüedad: 20 años, 9 meses
Puntos: 0
- En xml "linea" no es lo mismo que "LINEA", mira también el php.

si... fue un error al copiarlo aca... pero es los Scripts estan iguales...

- Chequea que te devueva xml ejecutando el php.

no se a que te referis. Lo unico que verifico es con el siguiente codigo...

results = http.responseText;
alert(result);


... que result trae todo lo que publica el PHP.... si a eso es a lo que te referis...

pero si lo hago de la siguiente manera...

var total = http.responseXML.getElementsByTagName('LINEA').len gth;

total devuelve 0 (cero), cuando deberia devolver 8 , que son la cantidad de LINEAS a publicar.

salu2...
  #9 (permalink)  
Antiguo 26/07/2005, 18:10
Avatar de xcars  
Fecha de Ingreso: mayo-2005
Ubicación: El Salvador
Mensajes: 753
Antigüedad: 18 años, 11 meses
Puntos: 4
Cita:
Iniciado por killaton
- En xml "linea" no es lo mismo que "LINEA", mira también el php.

si... fue un error al copiarlo aca... pero es los Scripts estan iguales...

- Chequea que te devueva xml ejecutando el php.

no se a que te referis. Lo unico que verifico es con el siguiente codigo...

results = http.responseText;
alert(result);


... que result trae todo lo que publica el PHP.... si a eso es a lo que te referis...

pero si lo hago de la siguiente manera...

var total = http.responseXML.getElementsByTagName('LINEA').len gth;

total devuelve 0 (cero), cuando deberia devolver 8 , que son la cantidad de LINEAS a publicar.

salu2...

te lo explicare mas facill... tu tienes un script en php que te genera un XML, verdad?
ok, ejecuta ese script fuera de todo el documento, solo el script, ponele valores al azar que existan en la BD y mira si te genera el xml correctamente, me explico?
__________________
Con Microaplicaciones puedes hacer tu tienda en línea de forma sencilla y rápida, sin costos ocultos y con mucha responsabilidad.
  #10 (permalink)  
Antiguo 27/07/2005, 06:54
 
Fecha de Ingreso: julio-2003
Mensajes: 71
Antigüedad: 20 años, 9 meses
Puntos: 0
Hola xcars...

Exactamente...

ya descubri. cual era el error.... .....

Pido que no me matennnnn

pero bueno... a veces pasa.

el problema era que falta en el Script PHP lo siguiente...

header('Content-Type: text/xml');

para que responseXML lo reconozca como XML...

en cualquier momento dejo de tomar...

mil gracias a todos y disculpen la molestia...
  #11 (permalink)  
Antiguo 27/07/2005, 08:41
Avatar de xcars  
Fecha de Ingreso: mayo-2005
Ubicación: El Salvador
Mensajes: 753
Antigüedad: 18 años, 11 meses
Puntos: 4
Cita:
Iniciado por killaton
Hola xcars...

Exactamente...

ya descubri. cual era el error.... .....

Pido que no me matennnnn

pero bueno... a veces pasa.

el problema era que falta en el Script PHP lo siguiente...

header('Content-Type: text/xml');

para que responseXML lo reconozca como XML...

en cualquier momento dejo de tomar...

mil gracias a todos y disculpen la molestia...
jajajaj no te preocupes, solo te pediria, que publicaras despues lo que estas haciendo, para tomar notas y mostrarlo y aprender, ok
__________________
Con Microaplicaciones puedes hacer tu tienda en línea de forma sencilla y rápida, sin costos ocultos y con mucha responsabilidad.
  #12 (permalink)  
Antiguo 28/07/2005, 05:47
 
Fecha de Ingreso: julio-2003
Mensajes: 71
Antigüedad: 20 años, 9 meses
Puntos: 0
Hola xcars....

Lo que estoy haciendo son dos listas dependientes + un administrador para la lista padre.

Les paso el codigo PHP que funcionó para publicar el XML.
<?php
header('Content-Type: text/xml');
header ("Expires: Fri, 14 Mar 1980 20:53:00 GMT"); //la pagina expira en fecha pasada
header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); //ultima actualizacion ahora cuando la cargamos
header ("Cache-Control: no-cache, must-revalidate"); //no guardar en CACHE
header ("Pragma: no-cache"); //PARANOIA, NO GUARDAR EN CACHE

include ("functions/conexion.php");


$sql = "select * from marcas";


$result = mysql_query($sql);

if (mysql_num_rows($result) == 0) {

echo "el valor no fue encontrado en la base de datos";
}else{

$string = '';
$string = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
$string .= "<MARCAS>\n";
while ($row = mysql_fetch_row($result)){

$string .= "<LINEA>\n";
$string .= "<COL1>".$row[1]."</COL1>\n";
$string .= "<COL2>".$row[0]."</COL2>\n";
$string .= "</LINEA>\n";
}

$string .= "</MARCAS>\n";

echo $string;
}
?>

Desde el javascript lo toma de la siguiente manera...

function handleHttpResponse_cbx_modelo() {


if (http.readyState == 4) {

var i;

var total = http.responseXML.getElementsByTagName('LINEA').len gth;



for(i=0;i<total;i++){

//document.getElementById('combo1').options[i]= new Option(results[i],i+1);
//colxxx = http.responseXML.getElementsByTagName('col1')[i].firstChild.data;
document.getElementById('combo1').options[i]= new Option( http.responseXML.getElementsByTagName('COL1')[i].firstChild.data ,http.responseXML.getElementsByTagName('COL2')[i]);
}

window.status = '';

return false;

}

}



cualquier cosa ... no duden en preguntar
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 22:56.