Foros del Web » Programando para Internet » PHP »

Video desde Base de datos Mysql

Estas en el tema de Video desde Base de datos Mysql en el foro de PHP en Foros del Web. Hola, Tengo un problema en la consulta de mi base de datos... es el siguiente: Tengo una pagina llamada listado.php, en ella tengo un listado ...
  #1 (permalink)  
Antiguo 05/08/2010, 14:44
 
Fecha de Ingreso: mayo-2004
Ubicación: España
Mensajes: 16
Antigüedad: 19 años, 10 meses
Puntos: 0
Exclamación Video desde Base de datos Mysql

Hola,

Tengo un problema en la consulta de mi base de datos... es el siguiente:

Tengo una pagina llamada listado.php, en ella tengo un listado de los datos de videos que tengo almacenados en una carpeta del servidor local (localhost). los datos que recibo desde la base de datos son: id, nombre, descripcion, imagen tiempo.

En la tabla (de la pagina listado.php) que contiene estos datos he puesto un formulario con un solo boton (ver); al hacer clic en este boton se abrira una pagina llamada player.php.

En el formulario de la pagina listado.php paso como parametro el id. (POST); hasta aqui todo bien al hacer clic me abre la pagina player.php en la parte superior del navegador (Dirección) me muestra la ruta en la que me encuentro, ademas de mostrarme el id pasado desde la pagina listado.php. Por ejemplo si doy al boton que tiene id=3 la pagina player.php me muestra id=3, si hago clic en el boton id=5, la pagina player.php me muestra en la barra de direcciones la ruta, además de indicarme el parametro pasado id=5 osea todo correcto esto me demuestra que las id las pasa bien.

Las paginas listado.php y Player.php; ambas las he hecho con dreamweaver8

En la pagina Player.php he creado un juego de registros con el filtro id, es decir:
id=Parametro URL id.

El problema esta que la pagina player.php al abrirse automaticamente debe de reproducir el video correspondiente al id que recibe la pagina player.php; pero lo que hace es reproducir siempre el video del primer id, osea del id=1 aunque yo haya presionado el boton que pertenece al id=5 por ejemplo.

Tengo creado el codigo para el reproductor asi como su correspondiente script.
Por supuesto tengo el placeholder, en la ubicación que quiero se reprodusca el video en la pagina player.php

Justamente debajo de este Placeholder he puesto el siguiente codigo:


<?php
$cuatro = mysql_query("SELECT * FROM alertasalud1") or die(mysql_error()); while($row = mysql_fetch_assoc($cuatro)) {
?>

<script type="text/javascript">
createplayer('<?php echo "http://localhost/cuatro/videos/indice-videos-quincena-1/alerta-salud/".$row['video']; ?>', true);
</script>
<?
}?>


alertasalud1 es la tabla que contiene los datos.
alerta-salud es la carpeta que contiene los videos.
$row['video']; contiene el nombre (en la base de datos) del video a reproducir; por ejemplo alerta-salud.flv

Lo que me falta es decirle a este codigo: reproduceme el video que corresponde al id recibido y es lo que no se como hacer......
Estoy comenzando con Php....

Espero puedan ayudarme.
Gracias.
  #2 (permalink)  
Antiguo 05/08/2010, 15:22
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Tema movido desde PHP orientado a objetos a PHP
  #3 (permalink)  
Antiguo 05/08/2010, 19:26
 
Fecha de Ingreso: junio-2010
Ubicación: Venezuela, Zulia
Mensajes: 686
Antigüedad: 13 años, 9 meses
Puntos: 55
Respuesta: Video desde Base de datos Mysql

no te he entendido muy bien, tu tienes la ruta de los videos en la base de datos, de ser asi es simple solo la llamas con el reproductor que usas segun el id, aunque veo muy poco codigo alli, estas seguro que ese es todo el codigo
  #4 (permalink)  
Antiguo 05/08/2010, 19:47
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 21 años, 8 meses
Puntos: 8
Respuesta: Video desde Base de datos Mysql

No le esta "diciendo" a tu base de datos nada acerca de que registro tiene que tomar. Es mas un problema de sql que de php.

Fijate donde tenes SELECT * FROM alertasalud1 tenes que incluir una clausula WHERE id = $variableQueTeLlegueDesdeLaOtraPagina.

Tampoco veo en tu codigo cual es la $variableQueTeLlegueDesdeLaOtraPagina... dices que la pasas por POST, pero si es el casi no te deberia aparecer en la url cuando llamas al player.php, en todo caso usa alguna de estas dos opciones:

Código PHP:
Ver original
  1. $variableQueTeLlegueDesdeLaOtraPagina = $_POST['id'];
  2. // o
  3. $variableQueTeLlegueDesdeLaOtraPagina = $_GET['id'];

Suerte!
  #5 (permalink)  
Antiguo 05/08/2010, 20:36
 
Fecha de Ingreso: enero-2008
Mensajes: 68
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Video desde Base de datos Mysql

Cita:
Iniciado por fran86 Ver Mensaje
No le esta "diciendo" a tu base de datos nada acerca de que registro tiene que tomar. Es mas un problema de sql que de php.

Fijate donde tenes SELECT * FROM alertasalud1 tenes que incluir una clausula WHERE id = $variableQueTeLlegueDesdeLaOtraPagina.

Tampoco veo en tu codigo cual es la $variableQueTeLlegueDesdeLaOtraPagina... dices que la pasas por POST, pero si es el casi no te deberia aparecer en la url cuando llamas al player.php, en todo caso usa alguna de estas dos opciones:

Código PHP:
Ver original
  1. $variableQueTeLlegueDesdeLaOtraPagina = $_POST['id'];
  2. // o
  3. $variableQueTeLlegueDesdeLaOtraPagina = $_GET['id'];

Suerte!
Como dice fran86, cuando utilizas el método POST, las variables no se muestran en la URL

Si deseas utilizar POST para enviar los datos, esto debes declararlo en el formulario donde deseas enviar los datos.
Sin embargo, y según veo, el método GET (método que adoptan por defecto los formularios HTML) no te molesta. Entonces debes leer el valor de dicho GET. Eso lo haces según el ejemplo de fran.

Código PHP:
$variableQueTeLlegueDesdeLaOtraPagina $_GET['id']; 
Para la consulta de los datos, en el select existe la sentencia WHERE. Con esta sentencia das una condición para la búsqueda que se realizará en la Base de datos, por esto es que es preciso que en ese lugar especifiques el id que estás buscando.

Te recomiendo que lo hagas con el id entre comillas, así, en el caso de que este no sea enviado, no se generará un error en MySQL, sino que sólo te retornará un valor vacío.

Código PHP:
<?
$id 
$_GET["id"];
$query mysql_query("SELECT video FROM alertasalud1 WHERE id='$id' ");
if(
mysql_num_rows($query)>0){
   
//Ha encontrado el video
}else{
   
// No ha encontrado el video (o no se ingresó un ID)
}
?>
Espero que esto solucione algunas dudas que puedas tener.
Saludos.
  #6 (permalink)  
Antiguo 06/08/2010, 01:39
 
Fecha de Ingreso: mayo-2004
Ubicación: España
Mensajes: 16
Antigüedad: 19 años, 10 meses
Puntos: 0
De acuerdo Respuesta: Video desde Base de datos Mysql

Muchas gracias, a todos los que me han ayudado con mi problema de codigo; especialmente a ti fcopacheco por se tan detallado en tu respuesta; como estoy comenzando con Php no sabia como poner esa condicion where. Sabia que este foro inmediatamente responderian y me ayudarian dandome la solución.
De verdad gracias por todo.

Este metodo lo he realizado a traves de un boton en formulario, pero tambien lo podria aplicar a un enlace cualquiera? por ejemplo pinchando desde el nombre de video?, imagino que sera seleccionando el texto del nombre del video, en vinculo buscar la pagina player.php y pasar el id como parametro y en la pagina player.php dejar todo el codigo como esta, ya con el condicional corregido,verdad?

Gracias por todo.

P.D. Por cierto una vez solucionado los problemas en este foro, como cierro el tema? para no obtener mas respuestas ya que esta solucionado el tema?

Etiquetas: mysql, video
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:48.