SQL - SQL usando BETWEEN

 
Vista:

SQL usando BETWEEN

Publicado por paula (3 intervenciones) el 06/05/2007 15:56:51
Hola!!! soy principiante, y estoy queriendo hacer una busqueda en un intervalo de fechas y/o de id.
Estoy trabajando con PHP, mysql y dreamweaver

Tengo dos paginas, en una un form con dos campos select donde el usuario selecciona las opciones ej. desde el nro. 1000 al 2000.

Y otra pag donde se visualizan los resultados.

Ahora bien, si hago esto:

SELECT productos.idproducto, productos.nombreproducto, productos.codnavision
FROM productos
WHERE codnavision between 1000 AND 2000

funciona correctamente.

///////////////////////////////////////////////////////////////////////////////
Pero si lo hago con variables, en lugar de datos concretos, me muestra la pagina de resultados con la tabla dinamina sin datos.
'desde' y 'hasta' son los nombres de los campos de texto donde los usuarios pondrian el intervalo que quieren ver.

<?php

$maxRows_rsresultado = 10;
$pageNum_rsresultado = 0;
if (isset($_GET['pageNum_rsresultado'])) {
$pageNum_rsresultado = $_GET['pageNum_rsresultado'];
}
$startRow_rsresultado = $pageNum_rsresultado * $maxRows_rsresultado;

$param1_rsresultado = "desde";
if (isset($_post['codnavision'])) {
$param1_rsresultado = (get_magic_quotes_gpc()) ? $_post['codnavision'] : addslashes($_post['codnavision']);
}
$param2_rsresultado = "hasta";
if (isset($_post['codnavision'])) {
$param2_rsresultado = (get_magic_quotes_gpc()) ? $_post['codnavision'] : addslashes($_post['codnavision']);
}
mysql_select_db($database_inventario, $inventario);
$query_rsresultado = sprintf("SELECT productos.idproducto, productos.nombreproducto, productos.codnavision FROM productos WHERE codnavision between '%s' AND '%s' ", $param1_rsresultado,$param2_rsresultado);
$query_limit_rsresultado = sprintf("%s LIMIT %d, %d", $query_rsresultado, $startRow_rsresultado, $maxRows_rsresultado);
$rsresultado = mysql_query($query_limit_rsresultado, $inventario) or die(mysql_error());
$row_rsresultado = mysql_fetch_assoc($rsresultado);

if (isset($_GET['totalRows_rsresultado'])) {
$totalRows_rsresultado = $_GET['totalRows_rsresultado'];
} else {
$all_rsresultado = mysql_query($query_rsresultado);
$totalRows_rsresultado = mysql_num_rows($all_rsresultado);
}
$totalPages_rsresultado = ceil($totalRows_rsresultado/$maxRows_rsresultado)-1;
?>

Muchas gracias!!!!!!!!!!!!!!!!
Paula
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:SQL usando BETWEEN

Publicado por luis horacio (1 intervención) el 07/05/2007 21:13:25
Buenas tardes,

Porqueno pruebas sumando los parametros con la cadena de conexion para que cuando la ejecute llegue es el valor ej:

si la vble A tiene 2000 y la variable B tiene 2020 crealo que quede asi:

la cadena sería así:

"select * from tabla where campo between "+A+" and "+B para que se ejecute así:

select * from tabla where campo between 2000 and 2200

claro si tienes que converir los valores segun el tipo de datos de la tabla

Hasta pronto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar