Comunidad de diseño web y desarrollo en internet online

como hacer esta consulta

Citar            
MensajeEscrito el 05 Ago 2009 04:56 pm
Disculpen estoy tratando de jalar imagenes a flash con xml, las jalo desde una carpeta y si me aparesen todo bien, pero yo las quiero almacenar los links de la imagen en la base de datos y que desde alli me los jales, este es el xml que utilizo para carghar las imagenes deade la carpeta.

Código XML :

  <?xml version="1.0" encoding="iso-8859-1" ?> 
- <imagenes>
  <imagen id="img01.jpg" /> 
  <imagen id="img02.jpg" /> 
  <imagen id="img03.jpg" /> 
  <imagen id="img04.jpg" /> 
  <imagen id="img05.jpg" /> 
  <imagen id="img06.jpg" /> 
  <imagen id="img07.jpg" /> 
  <imagen id="img08.jpg" /> 
  <imagen id="img09.jpg" /> 
  </imagenes>


entonces yo ago la consulta en un archivo php y lo convierto a xml de esta manesra ago la consulta yo


Código PHP :

<?php 
$con_sisnae = mysql_connect("localhost","root", "root") or trigger_error(mysql_error(),E_USER_ERROR); 
mysql_select_db("directorio", $con_sisnae);

   
                       
$sql  = "SELECT  foto FROM usuarios;";         
$res = mysql_query($sql); 



echo "<?xml version=\"1.0\"?>\n";
echo "<imagenes>\n";

while ($row = mysql_fetch_assoc($res))
{
   echo "<item>".$row["foto"]."</item>\n";
 
}echo "</imagenes>\n";

mysql_free_result($res);
mysql_close($con_sisnae);

?>



esa esmi consulta y este seria el archivo xml que me devuelve

Código XML :

  <?xml version="1.0" ?> 
- <imagenes>
  <item>http://localhost/archivos/img01.jpg</item> 
  <item>http://localhost/archivos/img02.jpg</item> 
  <item>http://localhost/archivos/img03.jpg</item> 
  <item>http://localhost/archivos/img04.jpg</item> 
  <item>http://localhost/archivos/img05.jpg</item> 
  <item>http://localhost/archivos/img06.jpg</item> 
  <item>http://localhost/archivos/img07.jpg</item> 
  <item>http://localhost/archivos/img08.jpg</item> 
  <item>http://localhost/archivos/img09.jpg</item> 
  <item>http://localhost/archivos/img10.jpg</item> 
  <item>http://localhost/archivos/img01.jpg</item> 
  <item>http://localhost/archivos/img01.jpg</item> 
  </imagenes>




el primer xml si me funciona  y el segundo al momento da mandarlo  llamar en flash no se me  aparece nada
 si alguine sabe deonde esta mi error  se los agradeseria,,

Carych

Por carych

37 de clabLevel



 

msie7
Citar            
MensajeEscrito el 05 Ago 2009 06:36 pm
El documento XML que formas está correcto (aún podrias utilizar el DOM de PHP, es de colocar echo's no es tan correcto que digamos :roll: , aunque sirve para su fin :wink: ). El error puede estar en el código que lee el XML en flash. Puedes dar mas información de cual es el error que tienes?

Por -george-

58 de clabLevel



 

Tartarus

firefox
Citar            
MensajeEscrito el 05 Ago 2009 06:43 pm
Upss!! :crap:
Se me escapo esto a primera vista

Código XML :

  <imagen id="img01.jpg" />  

Fijate que estas formando:

Código XML :

  <item>http://localhost/archivos/img01.jpg</item> 

Forma el elemento con la misma estructura que tienes en el anterior ejemplo. En vez de item: imagen, imagen no tiene etiqueta de cierre "</item>", y la URL de la imagen está en el atributo "id".

Saludos

Por -george-

58 de clabLevel



 

Tartarus

firefox
Citar            
MensajeEscrito el 05 Ago 2009 07:12 pm
si eso es loq ue yo tambien pense en la estructura esa , pero no encuentro como poner
<xml><imagen id="img01.jpg" /> </xml>
puesto que esto se lo puse estatico en el primer documento xml
y en el segundo me lo genera la consulta
<php>while ($row = mysql_fetch_assoc($res)) { echo "<item>".$row["foto"]."</item>\n"; }echo "</imagenes>\n"; </php>


entonces no se como moverle alli.

entonches cuando cargo el documento en actionScript ahy una parte de donde declaro una variable y recoje el atributo de la foto
idImagen = _root.firstChild.childNodes[i].attributes.id;

alli pienso que esta el error puesto que en mi xml no tiene atributo pero como te digo no se como ponerselo porque se genera con los datos de la consulta.

y se en AS le llegara quitar el atrubuto id me jala el xml pero me marca error al canot be open url algo asi,

pero pienso que seria mas facil ponerle atributos alas imagenes como en el primer xml ..
pero como te digo no se como:S:S:S

Por carych

37 de clabLevel



 

msie7
Citar            
MensajeEscrito el 05 Ago 2009 10:12 pm
ok, para obtener el mismo resultado que el otro XML, cambia la línea por esto:

Código PHP :

echo '<imagen id="'.basename($row['foto']).'" />';

Por -george-

58 de clabLevel



 

Tartarus

firefox
Citar            
MensajeEscrito el 06 Ago 2009 03:44 pm
Perfectoo muy buena solucion , disculpa como no nomas quiero hacer copy paste ,
me podrias decir que haces con esa instruccion, que es lo que hace el basename,

porque ya habia tratado de muchas formas y nada, y esos si funciono.

muchas gracias..!

Por carych

37 de clabLevel



 

msie7
Citar            
MensajeEscrito el 06 Ago 2009 05:59 pm
porque al hacer la primer consulta que puse si me slane los datos ya como lo quiero, entonces al espesificar mas en la consulta ya no me arroja nd el xml y es el mismo codigo lo unico que le cambio es la consulta

Código PHP :

<?php 
$con_directorio = mysql_connect("localhost","root", "root") or trigger_error(mysql_error(),E_USER_ERROR); 
mysql_select_db("directorio", $con_directorio);

   
                       
//$sql  = "SELECT * FROM usuarios WHERE departamento="seguridad;"";    
$sql2 ="SELECT  foto FROM usuarios where departamento like "seguridad";";     
$res = mysql_query($sql2); 



echo "<?xml version=\"1.0\"?>\n";
echo "<imagenes>\n";

while ($row = mysql_fetch_assoc($res))
{
 
 echo '<imagen id="'.basename($row['foto']).'" />';

 }
echo "</imagenes>\n";

mysql_free_result($res);
mysql_close($con_directorio);

?>


esta es la consulta yo lo que estoy haciendo es ser mas especifico quiero que me arroje la foto de los que esten en un departamento en espesifico,

y con esta consulta si me jala

Código PHP :

<?php 
$con_directorio = mysql_connect("localhost","root", "root") or trigger_error(mysql_error(),E_USER_ERROR); 
mysql_select_db("directorio", $con_directorio);

   
                       
$sql  = "SELECT  foto FROM usuarios;";         
$res = mysql_query($sql); 



echo "<?xml version=\"1.0\"?>\n";
echo "<imagenes>\n";

while ($row = mysql_fetch_assoc($res))
{
 
 echo '<imagen id="'.basename($row['foto']).'" />';

 }
echo "</imagenes>\n";

mysql_free_result($res);
mysql_close($con_directorio);

?>



es lo mismitooo solamente la consulta la cambie

Código MySQL :

$sql  = "SELECT  foto FROM usuarios;";         



esto por esto

Código MySQL :

$sql2 ="SELECT  foto FROM usuarios where departamento like "seguridad";";     


Seme hace muy tonto pero no se que pueda ser. basicamentesegun yo esta bien

Por carych

37 de clabLevel



 

msie7
Citar            
MensajeEscrito el 06 Ago 2009 06:41 pm
ya encontre el error la consulta seria asi..

Código MySQL :

$sql2 ="SELECT  foto FROM usuarios where departamento like '%seguridad%'";     

Por carych

37 de clabLevel



 

msie7
Citar            
MensajeEscrito el 06 Ago 2009 07:12 pm
(y)
Sobre la función basename(), te sirve para obtener la parte final de una ruta de directorios o una URL.
Toma en cuenta la documentación de PHP, siempre me ha sacado de apuros.
Saludos.

Por -george-

58 de clabLevel



 

Tartarus

firefox

 

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