Foros del Web » Programando para Internet » PHP »

Buscar Entre X Y Y En La Base De Datos

Estas en el tema de Buscar Entre X Y Y En La Base De Datos en el foro de PHP en Foros del Web. TENGO UNA DUDA DEBO HACER UNA TABLA DE BUSQUEDA QUE BUSQUE EN DIFERENTES CATEGORIAS PERO NO SE CUAL ES VARIANTE LO QUE TENGO ES ESTO ...
  #1 (permalink)  
Antiguo 04/10/2004, 14:37
 
Fecha de Ingreso: septiembre-2004
Mensajes: 58
Antigüedad: 13 años, 2 meses
Puntos: 0
Buscar Entre X Y Y En La Base De Datos

TENGO UNA DUDA DEBO HACER UNA TABLA DE BUSQUEDA QUE BUSQUE EN DIFERENTES CATEGORIAS PERO NO SE CUAL ES VARIANTE LO QUE TENGO ES ESTO PERO NO ME FUNCA: <input name="psearch" type="checkbox" value="<1950 >1980">


YA QUE NO SE CUAL ES LA VARIANTE DEL VALUE QUE DEBO PONER EN LUGAR DE ESTE <1950 >1980
  #2 (permalink)  
Antiguo 05/10/2004, 03:12
 
Fecha de Ingreso: junio-2003
Mensajes: 744
Antigüedad: 14 años, 5 meses
Puntos: 0
Si lo quieres guardar para una consulta sql, se hace de esta manera:

Campo between valor_menos and valor_mas

Espero que te, sirva!
__________________
Ibisof | Saludos desde Eivissa !!! :p
  #3 (permalink)  
Antiguo 05/10/2004, 09:28
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
YDIABLOY
Y como está estructurada tu Tabla (Base de datos) .. que tipo de dato es esa "fecha" (un campo DATE .. un numero sólo con ese "año"?) ...

Debes concretar lo que tienes para darte alguna solución ...

Un saludo,
  #4 (permalink)  
Antiguo 05/10/2004, 10:10
 
Fecha de Ingreso: septiembre-2004
Mensajes: 58
Antigüedad: 13 años, 2 meses
Puntos: 0
no es simplemente un varchar osea que busque los datos de varchar que esten entre esos dos numeros
  #5 (permalink)  
Antiguo 05/10/2004, 10:22
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues .. si trabajas con fechas deberías usar campos de tipo fecha (DATE por ejemplo si no requieres de hora también) as{i podrías usar todas las funciones de Mysql para tal fin (tratamiento de fechas).

En su defecto .. ese campo debería ser de tipo numérico (un INT o menor) pero no un "varchar" ..

A su vez .. de tu "checkbox" .. debería salir una sóla opción .. para que puedas indentificar que "rango" necesitas para usarlo en tu sentencia SQL que necesitas usar donde se requiere de ese DATO por separado del rango menor y el mayor. (para que puedas usar por ejemplo el "between" de SQL.

Algo tipo (yo usaría un radio en lugar de un checkbox .. se supone que vas a elegir una sóla opción):

En tu formulario ...
Código PHP:
<input name="psearch" type="radio" value="1">
<
input name="psearch" type="radio" value="2"
Y en tu script PHP de proceso .. filtras por ese valor de esa variable para componer tu sentencia SQL adecuada .. tipo:

Código PHP:
switch ($_POST['psearch']){
  case 
"1":
    
$sql="SELECT * FROM tabla WHERE fecha BETWEEN 1950 AND 1980";
  break;
case 
"2":
    
$sql="SELECT * FROM tabla WHERE fecha BETWEEN 1980 AND 2000";
   break;
}

// Ejecutas tu consulta SQL ...
mysql_connect(....)
mysql_select_db(.....);
$consulta=mysql_query($sql) or die (mysql_error());
while (
$row=mysql_fetch_array($consulta)){
// etc ....


No te olvides que tu campo al menos debería ser numérico (el de tu tabla de tu BD) o mejor de fecha para otro tipo de consultas más complejas con fechas.

Un saludo,
  #6 (permalink)  
Antiguo 05/10/2004, 11:56
 
Fecha de Ingreso: septiembre-2004
Mensajes: 58
Antigüedad: 13 años, 2 meses
Puntos: 0
SIP ERES GRANDE CLUSTER GRACIAS POR AYUDARME MIRA ESTE ES EL CODIGO QUE NESECITO MODIFICAR
<form action="autolist.php">
<table border="0" cellspacing="0" cellpadding="4">
<tr>

<td width="62">BUSCAR</td>
<td width="334">
<table width="320" border="1">
<tr>
<td width="67">marca</td>
<td width="131">a&ntilde;o</td>
<td width="100">precio</td>
</tr>
<tr>
<td><input name="psearch" type="checkbox" value="nissan">
nissan</td>
<td><input name="psearch" type="checkbox" value="<1950 >1980">
1950-1980</td>
<td><input name="psearch13" type="checkbox" value="2000-3000">
2000-3000</td>
</tr>
<tr>
<td><input name="psearch" type="checkbox" value="toyota">
toyota</td>
<td><input name="psearch8" type="checkbox" value="1980-1990">
1980-1990</td>
<td><input name="psearch14" type="checkbox" value="3000-4000">
3000-4000</td>
</tr>
<tr>
<td><input name="psearch" type="checkbox" value="honda">
honda</td>
<td><input name="psearch9" type="checkbox" value="lol"></td>
<td><input name="psearch15" type="checkbox" value="lol"></td>
</tr>
<tr>
<td><input name="psearch" type="checkbox" value="gsm">
gsm</td>
<td><input name="psearch10" type="checkbox" value="lol"></td>
<td><input name="psearch16" type="checkbox" value="lol"></td>
</tr>
<tr>
<td><input name="psearch" type="checkbox" value="dodge">
dodge</td>
<td><input name="psearch11" type="checkbox" value="lol"></td>
<td><input name="psearch17" type="checkbox" value="lol"></td>
</tr>
<tr>
<td><input name="psearch" type="checkbox" value="porche">
porche</td>
<td><input name="psearch12" type="checkbox" value="lol"></td>
<td><input name="psearch18" type="checkbox" value="lol"></td>
</tr>
</table>
<input type="Submit" name="Submit" value="IR">
&nbsp;&nbsp;<a href="autolist.php?cmd=reset"><span class="phppablo">Ver
Todas </span></a></td>
</tr>
</table>
</form>

EL PROBLEMA ES QUE NESECITO QUE EL BUSQUE EN TRES OPCIONES DIFERENTES OSEA QUE BUSQUE TAL MARCA ENTRE TALY TAL AÑO Y ETRE TAL Y TAL PRECIO YA QUE TE TOMASTES LA MOLESTIA EN LEER ESTE TEMA ME PODRIAS AYUDAR GRACIAS
  #7 (permalink)  
Antiguo 05/10/2004, 12:07
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Ya te expliqué una solución para el problema (fijate bien en mi ejemplo).

Y .. además ahora como dices que tienes otro parámero más que filtrar como esa "marca" te hará falta otra condición más para tu SQL:

$sql="SELECT * FROM tabla WHERE marca = $_POST['marca'] AND fecha BETWEEN 1950 AND 1980";

También te comenté que debes USAR botones de tipo radio en lugar de checkbox y agruparlos por nombres (por el mismo nombre del checkbox).

Y luego estructurar tu BD como ya te dije ...

Un saludo,

Última edición por Cluster; 05/10/2004 a las 12:09
  #8 (permalink)  
Antiguo 05/10/2004, 12:55
 
Fecha de Ingreso: septiembre-2004
Mensajes: 58
Antigüedad: 13 años, 2 meses
Puntos: 0
voy a probar y si tengo problemas o dudas te aviso ok
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 20:59.