Ver Mensaje Individual
  #12 (permalink)  
Antiguo 15/11/2006, 09:55
Avatar de xyyy7
xyyy7
 
Fecha de Ingreso: enero-2004
Ubicación: Maracay.-
Mensajes: 637
Antigüedad: 20 años, 3 meses
Puntos: 5
BUENO BASANDOME en "probabilidad ponderada de seyacat"

/* ----------------------------------------
Valor Probabilidad / Probabilidad acumulada
BASE A 10 / BASE A 10000
1 0.476190476 47
2 0.952380952 142
3 1.428571429 285
4 1.904761905 476
5 2.380952381 714
6 2.857142857 1000
7 3.333333333 1333
8 3.80952381 1714
9 4.285714286 2142
10 4.761904762 2619
11 5.238095238 3142
12 5.714285714 3714
13 6.19047619 4333
14 6.666666667 5000
15 7.142857143 5714
16 7.619047619 6476
17 8.095238095 7285
18 8.571428571 8142
19 9.047619048 9047
20 9.523809524 10000
---------------------------------------- */
TENEMOS QUE :

$md = rand(1,10000)

if ($md <= 47) $ca = 1;
if ($md >= 48 && $md <= 142) $ca = 2;
if ($md >= 143 && $md <= 285) $ca = 3;

// [...] Continuamos hasta llegar al 20

if ($md >= 7286 && $md <= 8142) $ca = 18;
if ($md >= 8143 && $md <= 9047) $ca = 19;
if ($md >= 9048 && $md <= 10000) $ca = 20;

y sacamos el query

$query = "SELECT * FROM tabla WHERE Numero_chances = $ca ORDER BY RAND LIMIT 1";

... y entonces hago un query para cada uno de los resultados que quiero mostrar (que son 9)

PERO HACIENDOLO DE ESTA MANERA PASA LO SIGUIENTE :

1.- si en numero optenido en $ca NO SE ENCUENTRA en los registros se queda el resultado vacio.-

2.- ..si quiero cambiar en algun momento la cantidad de valor maximo (que acualmente es 20) tendre que hacer el algoritmo nuevamente.-

x.- bueno y deberia de haber muchisimas mas contra...

pero demomento es lo que tengo hecho...

como me podrian ayudar.-???


Gracias

Saludos.-
__________________
Maracay Edo Aragua - Venezuela :
Mi Favorita :
http://www.MySQL.Com