vale, lo he conseguido, pero tengo unos cuantos problemas. Dejo lo que tengo:
función extraer, que quita una parte de una cadena:
function extraer($cadena,$antes,$despues,$cuenta)
{
/*Función para obtener extraer una subcadena
Creado por johandebruin.com el 29-12-2009*/
if(!$cuenta)
return false;
$localizacion1 = $localizacion2 = 0;
do
{
$localizacion1 = strpos($cadena,$antes,$localizacion1 + 1); if($localizacion1 == false)
return false;
$cuenta--;
} while ($cuenta > 0);
$localizacion2 = strpos($cadena, $despues, $localizacion1 + 1); if ($localizacion2 == false)
return false;
$localizacion1 += strlen($antes); return substr($cadena,$localizacion1,$localizacion2 - $localizacion1); }
función que saca la URL de una web:
<?php
class Url{
public $mi_cadena;
public $archivo;
public $url;
public function sacar_url($mi_url){
$this->archivo = fopen("$mi_url","r") or
die ("No se ha encontrado la pagina."); while(!feof($this->archivo)){ $this->cadena .= fgets($this->archivo, 4096); }
}
}
?>
<div id="cont_center" >
<?php
$email = $_SESSION["email_user"];
$sql = sprintf("select users_pelis.id_usuario, users_pelis.id_peli, users.email from users_pelis, users where users.email='%s' AND users_pelis.id_usuario = users.id_usuario", mysql_real_escape_string($email)); $usuario->consulta($sql);
$usuario->extraer_registro();
$fuente = new Url();
while($usuario->extraer_registro()){
$cartel = $usuario->resultado['id_peli'];
$url = "http://www.imdb.com/title/tt$cartel/";
$fuente->sacar_url($url);
//echo $fuente->cadena;
$cadena_comienzo = '<table border="0" cellpadding="0" cellspacing="0" id="title-overview-widget-layout">
<tr>';
$cadena_fin = '<td id="overview-top">';
echo extraer($fuente->cadena, $cadena_comienzo, $cadena_fin, 1);
}
En al bd tengo un id_usuario con un id_peli juntos, y el id_usuario tiene en otra tabla sus cosas asociadas, pero al ejecutar esto sólo me muestra la segunda fila, es decir, tengo en la bd:
id_usuario-----id_peli
1---------------34
1---------------65
Pero al ejecutar sólo sale el cartel correspondiente al id_peli 65, no el otro. ¿Sabéis por qué puede ser?
Un saludo.