Foros del Web » Programando para Internet » PHP »

Probabilidad con PHP +MySQL

Estas en el tema de Probabilidad con PHP +MySQL en el foro de PHP en Foros del Web. Hola muy buenas, Os cuento lo que quiero hacer. Tengo una tabla en MySQL que es: id - prize - probability --------------------------- 0 - 0.00 ...
  #1 (permalink)  
Antiguo 09/08/2017, 03:40
 
Fecha de Ingreso: agosto-2013
Ubicación: Madrid
Mensajes: 6
Antigüedad: 10 años, 7 meses
Puntos: 0
Probabilidad con PHP +MySQL

Hola muy buenas,

Os cuento lo que quiero hacer. Tengo una tabla en MySQL que es:

id - prize - probability
---------------------------
0 - 0.00 - 10.00
1 - 0.10 - 7.00
2 - 0.25 - 2.00
3 - 0.50 - 5.00
4 - 1.00 - 2.00
5 - 5.00 - 1.00

Por lo que con PHP quiero hacer que por ejemplo haya un 7% de que salga el registro 1, un 2% de que salga el registro 2, un 5% de que salga el registro 3 y así con los demás pero por más que le doy vueltas no llego a la conclusión de como hacerlo.

Seguramente sea una tontería pero ahora mismo no caigo en como lo podría hacer.

Espero que me podáis ayudar.

Un saludo y gracias.
  #2 (permalink)  
Antiguo 09/08/2017, 15:24
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Probabilidad con PHP +MySQL

Saludo

Pues a ver , lo que entiendo que se quiere es hacer que la probabilidad
salga sin los ceros (en caso de tenerlos)

Así entonces lo que se podría hacer es una función ya sea
en la base de datos, o en php para que tenga ciertas reglas
y solo muestre los valores adecuados.

En php yo propondría que se averigue la posición del punto en el valor
(Esto porque habrá valores que tengan el 0 antes del punto o después)

Y luego, hacer un ciclo que vaya desde 0 hasta la longitud del valor,
y dentro de este ciclo, un IF-ELSE el cual simplemente
en el lado del if se encargue de revisar
SI la posición del punto es menor al valor actual del ciclo Y la posición actual del valor es '0' , seguido de un O que revise si el valor actual del ciclo es igual a la posición Y la posición actual del valor + 1 es '0'

Si alguna de las condiciones de este SI se cumplen, entonces que haga el valor del ciclo igual a la longitud del valor.

En caso contrario, simplemente que imprima la posición actual del valor.

Aunque no estaría de más que revisaras las funciones de round o floor de php, tal vez esas te ayuden para no hacer lo mencionado antes.
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Etiquetas: mysql, tabla
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:31.