Foros del Web » Programando para Internet » PHP »

Consulta con variable no obligada

Estas en el tema de Consulta con variable no obligada en el foro de PHP en Foros del Web. Hola amigos, quiero hacer una consulta en las que si una de las variables no se solicita, de los resultados omitiendola. SELECT * FROM obras,artistas ...
  #1 (permalink)  
Antiguo 29/09/2005, 18:09
 
Fecha de Ingreso: marzo-2003
Ubicación: Barcelona
Mensajes: 107
Antigüedad: 14 años, 9 meses
Puntos: 0
Consulta con variable no obligada

Hola amigos, quiero hacer una consulta en las que si una de las variables no se solicita, de los resultados omitiendola.

SELECT *
FROM obras,artistas
WHERE `genero` = 'vargenero' AND `sub_genero` = 'varsubgenero' AND obras.identificador = artistas.identificador
ORDER BY nombre ASC

si no mando una de las dos variables no muestra nada, y si cambio el "AND" por "OR" es un caos.

Ayuda porfavor.
  #2 (permalink)  
Antiguo 29/09/2005, 18:31
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
... estando en PHP sería indicado hablaran en este lenguaje (las variables con $ e indicar su asignación, al menos su forma)... así a simple vista parece puro SQL.

... pero bueno, medio entendiendo, primero podrías hacer un simple cambio en el órden de la query y posteriormente condicinar la parte en la que influyen las variables:
Código PHP:
$query"SELECT *
FROM obras,artistas
WHERE obras.identificador = artistas.identificador"
// parte fija

if(isset($var1)) $query.= " AND`genero` = '$vargenero'"// si existe se le añade
if(isset($var2)) $query.= " AND `sub_genero` = '$varsubgenero'"// idem

$query.= " ORDER BY nombre ASC"// y se finaliza 
En general... espero haber entendido y haberme dadio a entender .
www.php.net/isset
www.php.net/language.operators.assignment

Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 02/10/2005, 04:29
 
Fecha de Ingreso: marzo-2003
Ubicación: Barcelona
Mensajes: 107
Antigüedad: 14 años, 9 meses
Puntos: 0
Consulta con variable no requerida

Hola a todos.
Tengo un codigo generado con dreamweaver que hace una consulta y muestra los resultados cuando recibe dos variables en GET, pero necesita las dos variables para mostrarlos. Yo quiero que muestre los resultados aunque solo una de las dos esté llena, descartando la otra, es para hacer filtros de busqueda. Eso es posible??
Aqui el codigillo.

$vargenero_rec = "1";
if (isset($_GET['genero'])) {
$vargenero_rec = (get_magic_quotes_gpc()) ? $_GET['genero'] : addslashes($_GET['genero']);
}
$vartema_rec = "1";
if (isset($_GET['tema'])) {
$vartema_rec = (get_magic_quotes_gpc()) ? $_GET['tema'] : addslashes($_GET['tema']);
}
mysql_select_db($database_con_ide, $con_ide);
$query_rec = sprintf("SELECT * FROM obras,artistas WHERE (obras.tema = '%s') AND (obras.genero = '%s') AND obras.identificador = artistas.identificador ", $vartema_rec,$vargenero_rec);
$query_limit_rec = sprintf("%s LIMIT %d, %d", $query_rec, $startRow_rec, $maxRows_rec);
$rec = mysql_query($query_limit_rec, $con_ide) or die(mysql_error());
$row_rec = mysql_fetch_assoc($rec);

Espero ayuda, gracias
  #4 (permalink)  
Antiguo 02/10/2005, 05:05
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Sí, es posible, ya lo había mencionado y tu código lo implementa:
Código PHP:
if (isset($_GET['genero'])) { // plantea la posibilidad de que no exista 
¿acaso obtienes un error si alguna variable no existe?, ¿cuál?, ¿algún enlace para poder verlo??.

He unido los dos temas que tratan de lo mismo. Por favor evita repetir consultas. Gracias y suerte.
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #5 (permalink)  
Antiguo 02/10/2005, 11:54
 
Fecha de Ingreso: marzo-2003
Ubicación: Barcelona
Mensajes: 107
Antigüedad: 14 años, 9 meses
Puntos: 0
El error es que si la variable "TEMA" esta vacia muestra los resultados de "genero" y tambien de los que no tienen ningun "tema"... o sea ningun resultado por que todos tienen el campo "tema" lleno.
Mira, puedes revisar bien el codigo que pongo antes????'.... esque ya ni tengo vecinos arriba pues se pensaban que habia fuego en el edificio, y resulta que era el humo q salia de mi cabeza. Gracias

Última edición por albertius; 02/10/2005 a las 12:46
  #6 (permalink)  
Antiguo 02/10/2005, 15:06
 
Fecha de Ingreso: octubre-2004
Mensajes: 751
Antigüedad: 13 años, 2 meses
Puntos: 4
Cita:
Iniciado por albertius
esque ya ni tengo vecinos arriba pues se pensaban que habia fuego en el edificio, y resulta que era el humo q salia de mi cabeza. Gracias
__________________
sergiold
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 06:12.