Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/08/2012, 15:58
alvarols
 
Fecha de Ingreso: diciembre-2008
Mensajes: 738
Antigüedad: 15 años, 4 meses
Puntos: 15
Sentencia MySQL usando rangos

Quisiera saber si esta sentencia MySQL está bien. En algunos apartados quiero buscar valores de acuerdo a diferentes rangos (entre un número y otro).

"SELECT * FROM basedat WHERE Despacho = '$aduana'
AND Patente = '$patente'
AND Pedimento = '$pedimento'
AND FechaEntrega = '$fechaentrada'
AND FechaPago = '$fechapago'
AND Descripcion = '$descripcion'
AND Fraccion = '$fraccion'
AND Origen = '$origen'
AND Venta = '$venta'
AND Marca = '$marca'
AND Modelo = '$modelo'
AND NoSerie = '$noserie'
AND NoInterno = '$nointerno'
AND CatFijo = '$catactivo'
AND Planta = '$planta'
AND Expediente = '$expnumero'
AND VComercial BETWEEN '$Vrango[0]' AND '$Vrango[1]'
AND VAduana BETWEEN '$VArango[0]' AND '$VArango[1]'
AND VSeguros BETWEEN '$VSrango[0]' AND '$VSrango[1]'
AND Seguros BETWEEN '$Srango[0]' AND '$Srango[1]'
AND Fletes BETWEEN '$Frango[0]' AND '$Frango[1]'
AND Embalajes BETWEEN '$Erango[0]' AND '$Erango[1]'
AND Incrementables BETWEEN '$OIrango[0]' AND '$OIrango[1]'
AND TasaIGI = '$igi'
AND IGI BETWEEN '$Irango[0]' AND '$Irango[1]'
AND CuotaDTA = '$cuotadta'
AND DTA BETWEEN '$Drango[0]' AND '$Drango[1]'
AND TASAIVA = '$tasaiva'
AND IVA BETWEEN '$IVrango[0]' AND '$IVrango[1]'
AND TOTAL BETWEEN '$Trango[0]' AND '$Trango[1]'
AND ObsRevision = '$obsrevision'

Otra duda que tengo es que por ejemplo, quiero que si el usuario no especifica un valor en algún campo de terminado, no lo tome en cuenta a la hora de buscar. Estaba pensando ayudarme con PHP y estaba pensando en usar variables para escribir la sentencia de MySQL.

Por ejemplo. Tengo esta sentencia:

$SQL = "SELECT * FROM basedat WHERE Despacho = '$aduana' AND Patente = '$patente'";

Entonces por ejemplo, en el campo de patente, quiero darle la opción al usuario de que si no pone ningún valor no lo tome en cueenta. Entonces estaba pensando en esto.

if($patente="") {
$variablepanente = "";
} else {
$variablepatente = "Patente = ".$patente."";
}

Entonces pongo la cadena así

$SQL = "SELECT * FROM basedat WHERE Despacho = '$aduana'".$variablepanente."";

Muchas gracias