Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: icisneros en 22 Febrero 2008, 00:23 am



Título: Mostrar tabla con iframe en php
Publicado por: icisneros en 22 Febrero 2008, 00:23 am
Lo que me gustaría hacer (si se puede) es lo siguiente:

Existe una página A que tiene un index.html así:

Código:
<html>
<table name="primero" class="primero">
HOLA
</table>
<table name="segundo" class="segundo">
ADIOS
</table>
</html>

Y yo quiero que mi página B se conecte a la dirección de la página A y muestre SÓLO la tabla "primero".

Si quisiera mostrar toda la página A en la página B, tan sólo tendría que usar un iframe.

Pero yo quiero que de la página A, sólo coja la tabla "primero".

He buscado en google y he entendido como que se puede hacer, pero no he entendido ¿cómo?

Espero puedan explicarmelo.

Un saludo y gracias.


Título: Re: Mostrar tabla con iframe en php
Publicado por: dimitrix en 22 Febrero 2008, 00:29 am
Si quieres en PHP te puedo ayudar, pero si no es PHP este tema no hiría aquí.


Título: Re: Mostrar tabla con iframe en php
Publicado por: icisneros en 22 Febrero 2008, 00:51 am
Sí dimitrix, había leido que con php se podía hacer por eso lo he puesto aquí, de todas formas no me importa usar otro lenguaje, aunque php sería perfecto.

Gracias


Título: Re: Mostrar tabla con iframe en php
Publicado por: eLank0 en 22 Febrero 2008, 01:15 am
Si la página está en tu servidor, podrías usar las funciones para el manejo de archivos.

S2


Título: Re: Mostrar tabla con iframe en php
Publicado por: dimitrix en 22 Febrero 2008, 06:38 am
Podrías poner la parte 1 de la tabla por ejemplo con echo y el resto de la web con otro echo y si no se declara nada que la web se carge completa pero si ponemos "?tabla=1" que solo se muestre la 1º tabla.


Título: Re: Mostrar tabla con iframe en php
Publicado por: icisneros en 22 Febrero 2008, 09:57 am
No me habeis entendido bien, o mejor dicho, yo no me he explicado bien  :rolleyes:

La página web A está en otro servidor, te pongo un ejemplo:

Inmáginate que yo quiero tener una sección en mi página que ponga: El logo de google en tiempo real. Y cuando entres mi página (B) se conecte a la página de google (A), y muestre en mi página (B) SÓLO el logo de google que está actualmente en la página (A).

La historia real es que estoy desarrollando un portal, y la página de la comunidad ofrece unos datos que se actualizan cada semana sobre el censo, en una tabla.
La página de la comunidad me ha dado permiso para hacer copy/paste, pero yo quiero hacerlo automático, no quiero tener que ir a la página de la comunidad copiar la tabla y pegarla en mi web.

Entonces había pensado que tal vez con un iframe o alguna función de php, podría conectarme a la página de la comunidad y coger la tabla para mostrarlo en mi página.

Espero haberme explicado bien y también espero que sea posible  ;D

Muchas gracias y un saludo.


Título: Re: Mostrar tabla con iframe en php
Publicado por: Azielito en 22 Febrero 2008, 18:15 pm
yo lo hice asi xD
Código
  1. <?php
  2.  
  3. $url = $_GET['url']; // pones la url  ¬¬
  4. $id = $_GET['n']; //el numero de tabla que quieres mostrar :)
  5. $html = implode('', file($url));
  6. $tablas = split('<table',$html);
  7. echo '<textarea cols=100 rows=50><table '.$tablas[$id].'</textarea>'; // claro que puedes quitar este molesto "textarea" y mostrar el contenido en html :)
  8.  
  9. ?>


Título: Re: Mostrar tabla con iframe en php
Publicado por: icisneros en 24 Febrero 2008, 23:25 pm
Este código debería hacer exactamente lo que yo quiero, pero algo falla, me da este error:

Código:
Warning: implode() [function.implode]: Bad arguments. in /home/***

El codigo modificado queda así:

Código:
<?php
 
$url = $_GET['http://www.******.com/equipos/2008.asp'];
$id = $_GET['3'];
$html = implode('', file($url));
$tablas = split('<table',$html);
echo '<textarea cols=100 rows=50><table '.$tablas[$id].'</textarea>';
 
?>

Alguna idea de qué puede ser?

Un saludo.




Título: Re: Mostrar tabla con iframe en php
Publicado por: dimitrix en 24 Febrero 2008, 23:36 pm
Creo que es lo primero:

Código
  1. $url = $_GET['http://www.******.com/equipos/2008.asp'];

yo uso esto, miratelo:


Código
  1. if($_GET){
  2. $url=$_GET['url'];
  3. }


Título: Re: Mostrar tabla con iframe en php
Publicado por: icisneros en 25 Febrero 2008, 09:43 am
Ahora estoy en el trabajo, luego en un rato lo pruebo, pero seguro que es eso.

Se me ha ido la pinza...  ;D

Luego os cuento, gracias.

Un saludo.


Título: Re: Mostrar tabla con iframe en php
Publicado por: dimitrix en 25 Febrero 2008, 09:52 am
Ok, pero no entiendo una cosa, yo no se mucho de php, pero tu función creo que está diciendo que cargue en la variable "$url", los datos que vengan por GET de la "VARIABLE" "http://www.******.com/equipos/2008.asp", creo que es por eso que te falla, el código completo creo que sería así:

Código
  1. <?php
  2. if($_GET){
  3. $url=$_GET['url'];
  4.  
  5. $id = $_GET['3'];
  6. $html = implode('', file($url));
  7. $tablas = split('<table',$html);
  8. echo '<textarea cols=100 rows=50><table '.$tablas[$id].'</textarea>';
  9. }
  10. ?>

no se muy bien por que puse el "if($_GET){" pero si lo quitas quita también el "}"



EDITO: Veo que lo que has hecho es poner lo que te puso directamente Azilito, cosa que no entiendo yo tampoco, pero si es lo que creo, no tienes que poner ahí la URL, lo tienes que poner en la URL.

www.dominio.com/archivo.php?url=http://www.******.com/equipos/2008.asp&n=3

No obstante si son siempre los mismos creo que esto te serviría:

Código
  1. <?php
  2. $url= "http://www.******.com/equipos/2008.asp";
  3. $id = "3";
  4. $html = implode('', file($url));
  5. $tablas = split('<table',$html);
  6. echo '<textarea cols=100 rows=50><table '.$tablas[$id].'</textarea>';
  7. ?>

Al igual que tu, yo también estoy empezando, así que no se si estará bien o me faltará algo.

Saludos


Título: Re: Mostrar tabla con iframe en php
Publicado por: Azielito en 25 Febrero 2008, 16:50 pm
si, si, se deberia usar asi com dice dimitrix

Código
  1. <iframe src='archivo.php?url=http://www.******.com/equipos/2008.asp&n=3' name='equipos' [...]>
  2. </iframe>