Foros del Web » Programando para Internet » PHP »

Consulta

Estas en el tema de Consulta en el foro de PHP en Foros del Web. www.midominio.com/?tipo=1&clase=2 Son 2 variables.. pero tengo que hacer que las 2 sean opinables, es decir puedes filtrar por tipo o por tipo y clase, también ...
  #1 (permalink)  
Antiguo 22/01/2010, 06:52
Avatar de angel1993  
Fecha de Ingreso: octubre-2009
Mensajes: 752
Antigüedad: 14 años, 6 meses
Puntos: 22
Consulta

www.midominio.com/?tipo=1&clase=2
Son 2 variables.. pero tengo que hacer que las 2 sean opinables, es decir
puedes filtrar por tipo o por tipo y clase, también puedes no filtrar.. que seria una consulta normal.. lo muestra todo.
El problema es que no se como meter 2 variables opcionales en mysql..
Para que funcione $clase tiene que existir &tipo..
$sql=mysql_query("select * from registro ",$conexion) or die ("error".mysql_error());
  #2 (permalink)  
Antiguo 22/01/2010, 06:56
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Consulta

Código MySQL:
Ver original
  1. FROM registro
  2. WHERE tipo = ".$_GET["tipo"]."
  3. OR clase = ".$_GET["clase"]."

a eso te refieres (?)
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 22/01/2010, 07:04
Avatar de angel1993  
Fecha de Ingreso: octubre-2009
Mensajes: 752
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: Consulta

cuando $_GET["clase"] esta null me da error :( necesito que sea opcional..
  #4 (permalink)  
Antiguo 22/01/2010, 07:09
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Consulta

entonces antes de la consulta puedes poner esto

Código PHP:
Ver original
  1. $tipo = (isset($_GET["tipo"])) ? $_GET["tipo"] : "";
  2. $clase = (isset($_GET["clase"])) ? $_GET["clase"] : "";

asi si no encuentra la variable te la dejara en blanco

y la consulta

Código MySQL:
Ver original
  1. FROM registro
  2. WHERE tipo = $tipo
  3. OR clase = $clase
__________________
More about me...
~ @rhyudek1
~ Github
  #5 (permalink)  
Antiguo 23/01/2010, 07:47
Avatar de angel1993  
Fecha de Ingreso: octubre-2009
Mensajes: 752
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: Consulta

No funciona tio, osea si pongo una variable no funciona otra.. osea no funciona..
  #6 (permalink)  
Antiguo 23/01/2010, 08:57
Avatar de Mahishasura  
Fecha de Ingreso: enero-2010
Ubicación: En las profundidades del cosmos
Mensajes: 58
Antigüedad: 14 años, 3 meses
Puntos: 4
Respuesta: Consulta

La verdad es que no entendí mucho lo que quisiste decir, pero por lo que comprendí quieres que el código se active siempre y cuando exista la variable tipo.
Veamos, sería algo así:

Código PHP:
Ver original
  1. if(empty($_GET["tipo"]) {
  2. //Aquí el código si es que "tipo" no tiene contenido.
  3. } else {
  4. //Aquí el código cuando tipo tiene contenido, pero no necesariamente "clase"
  5. }

Tambien si quieres que ambos tengan contenido obligadamente, puedes hacer
(...)
if(empty($_GET["tipo"]) && empty($_GET["clase"])) {
}
(...)
Espero haya aclarado algo :S, si no es así podrías poner más datos, por que por lo visto los demás tampoco entendieron mucho...
Saludos
  #7 (permalink)  
Antiguo 23/01/2010, 11:23
Avatar de angel1993  
Fecha de Ingreso: octubre-2009
Mensajes: 752
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: Consulta

Tengo que sacar fotos de perros, lo que necesito es poder filtrar por ejemplo
Para que solo salgan Machos o solo salga cierta raza o de cierto país..
o que salgan machos de cierta raza y de cierto país..
Osea que puedes filtrarlo por varios niveles..
  #8 (permalink)  
Antiguo 23/01/2010, 11:46
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Consulta

Y bueno, entonces segun la seleccion haces una consulta u otra u otra, tu mismo te estas respondiendo....
__________________
HV Studio
Diseño y desarrollo web

Etiquetas: Ninguno
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 14:43.