Comunidad de diseño web y desarrollo en internet online

Ayuda con la conexion a base de datos

Citar            
MensajeEscrito el 30 Dic 2009 12:40 pm
Hola que tal este es mi primer post y queria primero felicitar por el exlente portal el cual me a ayudado muchas veces a resolver mis dudas

Pregunta

Estoy haciendo un flash el cual tiene una conexion a una base de satos mysql

este es el codigo del flash


Código ActionScript :

var Dataxml:XML = new XML();
Dataxml.ignoreWhite = true;
Dataxml.onLoad = function(success) {
   if (success) {
      largo = Dataxml.firstChild.childNodes.length;
      id_flash = new Array(largo);
      descp_flash = new Array(largo);
      for (i=0; i<largo; i++) {
         id_flash[i] = Dataxml.firstChild.childNodes[i].attributes.id_xml;
         descp_flash[i] = Dataxml.firstChild.childNodes[i].attributes.descp_xml;
         texto.text=Dataxml.firstChild.childNodes[10-1].attributes.descp_xml;
      }
      llenarDataGrid();
   }
};
Dataxml.load("ides.php");


function llenarDataGrid() {
   losDatos = new Array();
   datos_dg.dataProvider = losDatos;
   for (i=0; i<id_flash.length; i++) {
      losDatos.addItem({ID:id_flash[i], Descripción:descp_flash[i]});
   }
}



el cual fue sacado y modificado de un tutorial y me funciona muy bien, el problema es que me muestra solo hasta el registro numero 37 en el datagrid y en un campo de texto me pasa exactamente lo mismo
aca va el codigo del php


Código PHP :

<?PHP
$link = mysql_connect("localhost", "nombre_usuario", "contraseña");
      mysql_select_db("esquema");

$consulta = "SELECT * FROM pc";

   $res = mysql_query($consulta);
   
   echo "<?xml version=\"1.0\"?>\n";
   echo "<node>\n";
   while($val = mysql_fetch_assoc($res)){
   echo  "<datos id_xml=\"".$val["id"]."\" descp_xml=\"".$val["nombre"]."\" />";
   }
   echo "</node>\n";
   
   mysql_close($link);

?>


cambio la query por ejemplo:

Código PHP :

$consulta = "SELECT * FROM pc where anexo = '343' ";


y me funciona pero solo hasta el registro 37 tambien, no se que puede ser

espero que me puedan ayudar ya que es para el trabajo y estoy parado solo en eso

muchas gracias
[BOFH]Nombre de usuario y contraseña editados. Nunca hagas pública información que debe ser privada o sufrirás las consecuencias U_U The Fricky! [/BOFH]

Por jpruz

2 de clabLevel



 

chrome
Citar            
MensajeEscrito el 30 Dic 2009 02:56 pm
El primer consejo es que jamás publiques a nivel público tus datos de conexión, menos usuarios y contraseña !!! Es muy inseguro.

Fuera de eso.. Veamos algunas preguntas básicas...

Haz lo siguiente, en tu Flash, tira un trace al lenght del Array para saber si realmente esta al menos llegando más de los 37 ROWs, o si es problema del PHP.

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 30 Dic 2009 03:22 pm
hola

gracias por la aclaracion la verdad es que no soy muy forero y existen unos codigos que no manejo

efectivamente cambio el lenght y todavia me sale hasta el 37 pero para abajo me salen espacios en blanco

en cambio cuando hago correr el archivo php me da como eco todos los registros que le pido

Por jpruz

2 de clabLevel



 

chrome
Citar            
MensajeEscrito el 31 Dic 2009 03:05 am
Prueba estandarizando más el XML que devuelves, algo más así:

Código XML :

<myxml>
    <nodo>
        <id>0</id>
        <descripcion>algo</descripcion>
    </nodo>

    <nodo>
        <id>0</id>
        <descripcion>algo</descripcion>
    </nodo>
</myxml>


La idea justamente del XML es que estandarices mejor la información haciendola mejor para su transmisión. Te recomendaría por ello antes que nada eso.

De todas formas, quizá lo que te suceda es que algún carácter te este jodiendo el output del XML, algo que corte el nodo. Por eso más aún adopta mi esquema modelo de XML (Más o menos complejo), para poder usar un CDATA!

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 31 Dic 2009 06:03 pm
muchas gracias por responder y bueno te cuento que aller pude solucionar el tema en la noche y justamente es lo que tu me dices:

En la bd despues del registro 37 habia un nombre con la letra ñ y eso hacia que flash no siguiera recorriendo los nodosora

cambie las`ñ y asunto solucionado

ahora como seria para que flash reconosca las ñ???


gracias por la ayuda

Por jpruz

2 de clabLevel



 

msie7
Citar            
MensajeEscrito el 31 Dic 2009 10:26 pm
Tienes que hacer lo siguiente:

Código PHP :

<?PHP 
$link = mysql_connect("localhost", "nombre_usuario", "contraseña"); 
      mysql_select_db("esquema"); 
 
$consulta = "SELECT * FROM pc"; 
 
   $res = mysql_query($consulta); 
    
   echo "<?xml version=\"1.0\"?>\n"; 
   echo "<node>\n"; 
   while($val = mysql_fetch_assoc($res)){ 
   echo  "<datos id_xml=\"".$val["id"]."\" descp_xml=\"".utf8_encode($val["nombre"])."\" />"; 
   } 
   echo "</node>\n"; 
    
   mysql_close($link); 
 
?>


El problema es que eso generará lo más probable problemas sobre los atributos. Realmente te recomiendo hacer:

Código PHP :

<?PHP 
$link = mysql_connect("localhost", "nombre_usuario", "contraseña"); 
      mysql_select_db("esquema"); 
 
$consulta = "SELECT * FROM pc"; 
 
   $res = mysql_query($consulta); 
    
   echo "<myxml>\n"; 
  
   while($val = mysql_fetch_assoc($res)){ 
   echo "<node>\n"; 
        echo  "<id>".$val['id']."</id>\n";
        echo  "<descrip_xml>".utf8_encode($val['nombre'])."</descrip_xml>\n";
   echo "</node>\n"; 
   } 

   echo "</myxml>\n";  
   mysql_close($link); 
 
?>


Cuidado que escribí el código directo al foro, es solo para un ejemplo, no para que lo copies y pegues.

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.