elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  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 2,689 veces)
musicaward

Desconectado Desconectado

Mensajes: 25



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

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

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

pero no me funciona  :-[


En línea

Nakp
casi es
Ex-Staff
*
Desconectado Desconectado

Mensajes: 6.336

he vuelto :)


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

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

Código
  1. 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 pm »

seria algo asi¿?

guardo la id actual en una variable

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

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

la muestro

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

Feedeex

Desconectado Desconectado

Mensajes: 173


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

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:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines