Foros del Web » Programando para Internet » PHP »

como ubicar un valor entre dos rangos

Estas en el tema de como ubicar un valor entre dos rangos en el foro de PHP en Foros del Web. Hola a todos, acudo al foro porque estoy haciendo algo que llevo un buen rato hechandole cabeza pero aun no se me ocurre una idea ...
  #1 (permalink)  
Antiguo 04/01/2012, 14:37
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
como ubicar un valor entre dos rangos

Hola a todos, acudo al foro porque estoy haciendo algo que llevo un buen rato hechandole cabeza pero aun no se me ocurre una idea

Resulta que tengo una tabla que tiene dos campos:

VAL_INI
VAL_FIN

donde se guardan respectivamente un rango inicial y otro final asi:

0 - 20
21 - 30
31 - 40
....

Yo estoy extrayendo los datos de un xml para unos calculos y debo ubicar un valor entre esos rangos, por ejemplo si el valor es 25, entonces deberia quedar en el segundo registro (21-30), si es 34 en el tercero (31-40), pero no tengo claro como hacerlo....
Alguien me podria dar alguna idea......agradezco la ayuda...
  #2 (permalink)  
Antiguo 04/01/2012, 15:11
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
Respuesta: como ubicar un valor entre dos rangos

precisamente que es lo que tenes que hacer?
1-extraer el datos desde el xml
2-comparar ese valor y saber a que rango pertenece
3-insertar el valor

entiendo algo asi tu problema
  #3 (permalink)  
Antiguo 04/01/2012, 15:24
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: como ubicar un valor entre dos rangos

si, el dato como tal ya lo tengo (lo estoy extrayendo del xml)
Ahora el problema es al comparar ese valor con los rangos

Pues con SQL seria una forma pero no la encuentra tan precisa
Yo puedo consultar asi:

Código PHP:
Ver original
  1. $valor=30;
  2. $sql="SELECT SIPCODIGO FROM SWDETRULE WHERE TIPCONCEP=2 AND  VALINI > ".$valor."";

ahi encontraria el primer registro y me acomodaria el valor (30) entre el rango 31 - 40, (que estaria mal), pues deberia ir entre 21-30
Entonces creo que primero debo preguntar si el valor es igual a uno de los valores de inicio o es igual a uno de los valores de fin de cada rango.....
Se me ocurre eso, aunque saldria como largo....
  #4 (permalink)  
Antiguo 04/01/2012, 16:21
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
Respuesta: como ubicar un valor entre dos rangos

vos ya conoces los rangos, entonces la comparacion la tendrias que hacer con PHP
Código PHP:
Ver original
  1. <?php
  2. $rangos = array();
  3. $rangos[] = rango 1;
  4. $rangos[] = rango 2;
  5. $rangos[] = rango 3;
  6. $rangos[] = rango 4;
  7. $rangos[] = rango n;
  8. foreach($rangos as $value){
  9.     if($value >= $valueXML && $value <= $valueXML){
  10.         //INSERT INTO RANGO VALUE $valueXML
  11.     }
  12. }
  13. ?>
  #5 (permalink)  
Antiguo 04/01/2012, 17:47
 
Fecha de Ingreso: julio-2010
Mensajes: 197
Antigüedad: 13 años, 9 meses
Puntos: 32
Respuesta: como ubicar un valor entre dos rangos

$valor = 'valor';
$sql = mysql_query("SELECT * FROM tabla WHERE '$valor' BETWEEN VAL_INI AND VAL_FIN");
$r_sql = mysql_fetch_array($sql);
  #6 (permalink)  
Antiguo 05/01/2012, 08:58
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: como ubicar un valor entre dos rangos

Gracias por la ayuda...lo probare

Etiquetas: rangos, registro, tabla, ubicar
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 22:41.