Menú Principal

Error en Get

Iniciado por musicaward, 30 Mayo 2011, 01:23 AM

0 Miembros y 1 Visitante están viendo este tema.

musicaward

pense que eso estaba fallando algo en la query pero no :-( ,  algo estoy haciendo mal al hacer el $_GET['s']
index.php?m=genero&s=Ciencia

no me muestra los resultados del campo genero en donde escribi por ejemplo "Ciencia" o "Documentales"

Código (php) [Seleccionar]
$mo=$_GET['m'];

switch ($mo){
   case "buscar":
$busqueda=ucwords(str_replace('+',' ',limpiar_busqueda($_GET['q'])));
$titulo=ucwords($busqueda)." | ".$titulo;
       break;
   case "letra":
if(strlen($_GET['a'])<2){$letra=$_GET['a'];}else{ redireccionar(); die();}
$titulo="Pelicula por letra: ".ucwords($letra)." | ".$titulo;
       break;
case "genero":
if($_GET['s']){$genero=$_GET['s'];}else{ redireccionar(); die();}
$titulo="Pelicula por Genero: ".ucwords($genero)." | ".$titulo;
       break;
}



Código (php) [Seleccionar]
<?php
if($mo=="letra"){
?>

<---contenido--->
<?
}elseif($mo=="genero"){
?>

<?php generos_peliculas($genero); ?>

<?
}elseif($mo=="buscar"){
?>

<---contenido--->
<?
}else{
?>


Shell Root

No se que estáis haciendo en este IF.
Código (php) [Seleccionar]
if($_GET['s']){
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

musicaward

#2
Código (php) [Seleccionar]
$_GET['s'] , tendria que tomar el valor de lo que escribo

index.php?m=genero&s=algo

index.php?m=genero&s=documentales

Código (php) [Seleccionar]
<?
}elseif($mo=="genero"){
?>

<?php generos_peliculas($genero); ?>

<?


en generos_peliculas tengo una pequeña funcion


Shell Root

#3
WTF! A ver, vamos por partes... Explicad paso por pasooooooooooooo detalladamente de lo que quieres hacer.
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

musicaward

#4
creo q me eh enredado harto  :-X aver

tengo una query

Código (php) [Seleccionar]
function generos_peliculas($en){

$c=@mysql_query("select id,nombre,imagen from peliculas ORDER by genero");
while($i=@mysql_fetch_array($c)){
echo "contenido";
}
@mysql_free_result($c);
}


en mi database eh creado un campo llamado "genero" dentro de la tabla peliculas,
en dicho campo puedo escribir digamos : Documentales , Accion , etc

ahora en mi index quiero realizar si escribo

Código (php) [Seleccionar]
index.php?m=genero&s=[b]documentales[/b]
me muestre los registros que hay para documentales y asi...

ahora me eh enredado en esta parte no se si esta bien lo que voy realizando por que no muestra el resultado que quiero:

Código (php) [Seleccionar]
case "genero":
if($_GET['s']){$genero=$_GET['s'];}else{ redireccionar(); die();}
$titulo="Pelicula por Genero: ".ucwords($genero)." | ".$titulo;
       break;

Código (php) [Seleccionar]
<?
}elseif($mo=="genero"){
?>

<?php generos_peliculas($genero); ?>

<?






Shell Root

Es que a ver, es simple...

Código (php) [Seleccionar]
# Tienes la variable GET
$tema = $_GET['tema'];

# Verificas si tiene algún valor
if(strlen($tema) > 0){
  # Acciones
}


--

En la función generos_peliculas(), no se que haces, estáis mostrando todos los registros, creo que debería de existir algún filtro o condición,
Código (php) [Seleccionar]
function generos_peliculas( $tema ){
  $sql = "SELECT id, nombre, imagen FROM peliculas WHERE(nombre = '".$tema."') ORDER BY genero";
  # Ejecutas la query.
}
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Nakp

ese if esta mal definido... deberias probar if(isset($_GET['key']))
Ojo por ojo, y el mundo acabará ciego.

musicaward

gracias , al final hice

Código (php) [Seleccionar]
case "s":
if(strlen($_GET['s'])<2){$letra=$_GET['s'];}else{ redireccionar(); die();}
$titulo="Pelicula por letra: ".ucwords($letra)." | ".$titulo;
        break; 


Código (php) [Seleccionar]
<?
}elseif($mo=="genero"){
?>

<?php generos_peliculas($s); ?>


y ya me funciona

index.php?m=genero&s=ciencia





Shell Root

Sigo sin entender, que valores tomaría la variable s? Porque estáis diciendo que si la longitud de la variable  s es menor a 2, $letra va a ser igual a s.
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.