Foros del Web » Programando para Internet » PHP »

Seleccionar numeros impares en bbbdd

Estas en el tema de Seleccionar numeros impares en bbbdd en el foro de PHP en Foros del Web. Hola! Tengo una base de datos mysql y quiero hacer un select de los números de una columna que sean impares y otro select de ...
  #1 (permalink)  
Antiguo 13/03/2006, 18:52
 
Fecha de Ingreso: enero-2006
Mensajes: 38
Antigüedad: 18 años, 3 meses
Puntos: 0
Seleccionar numeros impares en bbbdd

Hola!

Tengo una base de datos mysql y quiero hacer un select de los números de una columna que sean impares y otro select de los pares.

Se me ha ocurrido que el select sería para los pares: "Selecciona solo los números que divididos entre 2 den un número entero"

Pero no se como declarar esto ni como hacerlo paralos impares.

Alguien puede ayudarme?

Muchas gracias!
  #2 (permalink)  
Antiguo 13/03/2006, 19:03
okram
Invitado
 
Mensajes: n/a
Puntos:
Hola, se me ocurre:

Código PHP:
//<?
$sql 
"SELECT * FROM tabla";
$query mysql_query($sql);

// CREAS UN ARRAY PARA CADA COLUMNA
$columna1 = array(
'name'=>'Datos'
);
$columna2 = array(
'name'=>'Datos'
);
// etc etc

while($row mysql_fetch_array($query)) {

$division $row['numero']/2;
$trozos explode('.',$division);
if(!empty(
$trozos[1])) {
// NO ES PAR, YA QUE LA DIVISION TIENE DECIMALES
} else {
$columna1[] = $row['columna1'];
$columna2[] = $row['columna2'];
// etc etc...
}
unset(
$division);
unset(
$trozos);
}
unset(
$columna1['name']);
unset(
$columna2['name']);
/* LO MISMO CON TODOS LOS ARRAYS */
Asi, tendras los datos con numero par guardados en diferentes arrays...

Espero te sirva

Última edición por okram; 13/03/2006 a las 19:07 Razón: ni idea
  #3 (permalink)  
Antiguo 14/03/2006, 04:44
Avatar de JorgitoAlfajor  
Fecha de Ingreso: enero-2006
Mensajes: 152
Antigüedad: 18 años, 3 meses
Puntos: 1
Para saber si un número es par, tenés que verificar que el resto de dividir dicho número por 2 sea 0. Esto lo podés hacer directamente en la consulta, utilizando la función MOD de myslq:

Pares:
SELECT * FROM tu_tabla WHERE mod(campo_numerico,2) = 0

Impares:
SELECT * FROM tu_tabla WHERE mod(campo_numerico,2) <> 0

En general, para saber si un número N es múltiplo de otro número M, se verifica que el resto de la división entera de N/M sea 0.
Saludos.
__________________
¿Se me entiende la letra?
  #4 (permalink)  
Antiguo 14/03/2006, 05:52
 
Fecha de Ingreso: enero-2006
Mensajes: 38
Antigüedad: 18 años, 3 meses
Puntos: 0
He optado por la solución mysql que siempre prefiero resolver los problemas a ser posible por ahí y además es menos compleja. Ha funcionado perfectamente, GRACIAS Jorgito!!

Muy ingenioso tu método okram, GRACIAS!! :D

Salu2!
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 13:04.