Hola como estan?.
Bueno les comento.
tengo un proyecto en PHP es una galería de vídeos esta todo funcionando perfecto pero no logro evitar el uso de un Iframe. Explico por qué:
En mi Web incluyo esta que es .PHP
En el HTML tengo
<form class="combo" action="PHP/vid_pros.php" target="iframe1" method="GET">
$clavebuscadah=mysql_query("SELECT id_video,titulo,link,im FROM videos WHERE prot =1 AND año='1'",$conexion);
echo "<div class='cont-listado'>";
while($row = mysql_fetch_array($clavebuscadah))
{
echo "<form class='item' action='PHP/vid_pros.php' target='iframe1' metod='GET'>";
echo "<input type='hidden' value='".$row['id_video']."' name='id'>";
echo "<input class='im' type='image' src='imagenes/".$row['im']."'>";
echo "<h4 class='mini-vid' >".utf8_encode($row['titulo'])."</h4>";
echo "</form>";
}
echo "</div>";
mysql_close($conexion);
Y su cierre
<input class="item" id="btn" type="submit" value="Ver Video" />
</form>
Como verán estoy cargando todo un combo con los datos de una base de datos
El tema que este formulario me envía la la pagina vid_pros-php.
Esta los que hace es consultar a la base de datos según el id del vídeo y le asigna el src que figura en la base
<?php
$Dato=$_GET['id'];
if(isset($_GET['id'])){
$Dato=$_GET['id'];
}
if(isset($_GET['capitulos'])){
$Dato=$_GET['capitulos'];
}
if ($Dato != "0"){
include ("cn.php");
$clavebuscadah=mysql_query("SELECT link,titulo FROM vid WHERE id_video =$Dato ",$conexion);
while($row = mysql_fetch_array($clavebuscadah)){
$ventana1 = "<article />";
$titulo = "<center><h3 color='blue' class='tit-video'>".utf8_encode($row['titulo'])."</h3></center><br>";
$link = "<center><video id='vid' src=".$row['link']."controls autoplay ></center><br>";
$ventana2 = "</article>";
echo $ventana1;
echo $titulo;
echo $link;
echo $ventana2;
}
}
?>
Hasta aca todo funciona porque la idea es que el video se cargue en una parte de la web y no en otra ventana.
Pero esto lo logre solo usando un iframe que cargue a pros_vid-php sin usar un iframe no se me ocurre de que forma evitar que el formulario me saque de la web y carge lo que le pido solo en un sector de la web sea un div o lo que sea.
Agradeceré su ayuda.
No es necesario usar frames para evitar la redireccion de la pagina. Puedes usar AJAX para recibir la informacion y actualizarla.
alguna sugerencia para implementarlo?
casi te diría que ni se lo que es AJAX jeje ley algo en algún momento pero no mucho.
podría por ejemplo actualizar la info de un div en partícular?
puedes hacerlo facilmente con jquery, pero aquí un tutorial (http://www.ajaxya.com.ar/) con las bases para que sepas que es y como se usa
Pues puedes usar .load() con jQuery para eso:
$(function(){
$('#btn').on('click', function(e){
e.preventDefault();
var videoId = $('input[name=id]').val();
$('divAcargar').load('PHP/vid_pros.php?id=' + videoId);
});
});
Te sugeriria que te pusieras a leer y a investigar.
si con jquery pero no sabia como hacerlo.
voy a probar esto que me dices MinusFour
muchas gracias vere si funciona y te cuento.
Gracias a todos!!!