elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 04:18  


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales

+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP
| | | |-+  mostrar registros relacionados con genero
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: mostrar registros relacionados con genero  (Leído 725 veces)
musicaward

Desconectado Desconectado

Mensajes: 25



Ver Perfil WWW
mostrar registros relacionados con genero
« en: 3 Junio 2011, 06:30 »

hola  :-* tengo mi tabla de esta manera


| ID | | Nombre | |Genero |

| 1 | | nombrepelicula | | TERROR |

 Tengo una película con id 204 y género "Terror".. Lo que busco ahora es encontrar más películas del género que tiene la película con id 204.

como podria hacer la consulta he intentado con

Código
<?php
$idVariable = $_GET['id'];
$sql = "SELECT id,genero FROM peliculas WHERE( id = '".$idVariable."' );";
$query = mysql_query( $sql);
 if(!$query){
   print "Error al ejecutar la query.";
 }  
?>
Código
function peliculas_relacionadas($idVariable){
$c=@mysql_query("SELECT id,nombre,genero FROM peliculas WHERE( genero=' '".$idVariable."' ORDER BY id DESC LIMIT 10");
while($i=@mysql_fetch_array($c)){
echo "contenido">

llamandola con
Código
<?php peliculas_relacionadas(); ?>

pero no me funciona  :-[


En línea

Nakp
casi es
Ex-Staff
*
Desconectado Desconectado

Mensajes: 6.334

he vuelto :)


Ver Perfil WWW
Re: mostrar registros relacionados con genero
« Respuesta #1 en: 3 Junio 2011, 06:40 »

mmmm la forma mas vulgar de hacerlo es con las sentencias anidadas :P

Código
SELECT * FROM peliculas WHERE genero IN (SELECT genero FROM peliculas WHERE id = ?)

fin :D


En línea

Ojo por ojo, y el mundo acabará ciego.
musicaward

Desconectado Desconectado

Mensajes: 25



Ver Perfil WWW
Re: mostrar registros relacionados con genero
« Respuesta #2 en: 3 Junio 2011, 20:14 »

seria algo asi¿?

guardo la id actual en una variable

Código
<?php
$idVariable = $_GET['id'];
$sql = "SELECT id,genero FROM peliculas WHERE( id = '".$idVariable."' );";
$query = mysql_query( $sql);
 if(!$query){
   print "Error al ejecutar la query.";
 }  
?>

y esto aplicaria en mi funcion
Código
function peliculas_relacionadas($idVariable){
$c=@mysql_query("SELECT * FROM peliculas WHERE genero IN (SELECT genero FROM peliculas WHERE id = '".$idVariable."') ORDER BY id DESC LIMIT 10");
while($i=@mysql_fetch_array($c)){
echo "contenido">

la muestro

Código
<?php peliculas_relacionadas($idVariable); ?>
« Última modificación: 3 Junio 2011, 20:16 por musicaward » En línea

Feedeex

Desconectado Desconectado

Mensajes: 172


Ver Perfil
Re: mostrar registros relacionados con genero
« Respuesta #3 en: 5 Junio 2011, 18:31 »

Código:
$idVariable = $_GET['id'];
$sql = "SELECT id,genero FROM peliculas WHERE( id = '".$idVariable."' );";
$query = mysql_query( $sql);

Dudo de si puede producirse una SQLi con ese code, porque usa comillas dobles. Pero de todos modos, yo lo haría así:

Código:
$idVariable = $_GET['id'];
$consulta = mysql_query("SELECT * FROM tabla WHERE id='$idVariable'");
if(mysql_num_rows($consulta) == 0) {
  die("El ID indicado es invalido");
} else {
...sentencias....
}

Por las dudas.
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines