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
<?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.";
}
?>
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 <?php peliculas_relacionadas(); ?>
pero no me funciona :-[
mmmm la forma mas vulgar de hacerlo es con las sentencias anidadas :P
select * from peliculas where genero in (select genero from peliculas where id = ?)
fin :D
seria algo asi¿?
guardo la id actual en una variable
<?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
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
<?php peliculas_relacionadas($idVariable); ?>
$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í:
$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.