Ver Mensaje Individual
  #5 (permalink)  
Antiguo 22/09/2005, 12:11
kazeman
 
Fecha de Ingreso: septiembre-2005
Mensajes: 3
Antigüedad: 18 años, 7 meses
Puntos: 0
Acá está todo el código... ya lo arreglé, faltaba una comilla a la 1º query. Bueno, ahora lo que me pasa es que actualiza todo, pero cambia de categoría a equipos sin que deban ser cambiados, por ejemplo, el que salió 2º en la primera división, pasa a la segunda división, cosa que no tendría que pasar, pero revisé bien esta vez y no encuentro la falla de por qué pasa esto.


Código PHP:
if($_POST[bonificar]) {


    $a = mysql_query("SELECT nick FROM usuarios ORDER BY id ASC"); //Acá saco todos los nicks
     
    while(list($nick) = mysql_fetch_array($a)) {

        $b = mysql_query("SELECT * FROM usuarios WHERE nick='$nick'"); //Acá tengo todos los datos de nick
        $datos = mysql_fetch_array($b);
/*Primero saco la categoría */
    if ($datos[cat] == 'A') {
    $cat ='A';    
    }elseif($datos[cat] == 'B') {
    $cat='B';
    }elseif($datos[cat] == 'C') {
    $cat='C';
    }elseif($datos[cat] == 'D') {
    $cat='D';
    }

         if ($datos[pos] == '1') {
        //Si la posicion es 1
            if($cat =='A') {
                $nuevo_presupuesto = intval($datos[presupuesto]) + 1200;
                $ranking=intval($datos[rank]) + 250;
            }elseif($cat=='B') {
                $nuevo_presupuesto = intval($datos[presupuesto]) + 600;
                $ranking=intval($datos[rank]) + 125;
                //Ascendio
                $nuevacat='A';
            }elseif($cat=='C') {
                $nuevo_presupuesto = intval($datos[presupuesto]) + 300;
                $ranking=intval($datos[rank]) + 63;
                //Ascendio
                $nuevacat='B';
            }elseif($cat=='D') {
                $nuevo_presupuesto = intval($datos[presupuesto]) + 200;
                $ranking=intval($datos[rank]) + 32;
                //Ascendio
                $nuevacat='C';
            }
        }elseif ($datos[pos] == '2') {
        //Si la posicion es 2
            if($cat =='A') {
                $nuevo_presupuesto = intval($datos[presupuesto]) + 900;
                $ranking=intval($datos[rank]) + 200;
            }elseif($cat=='B') {
                $nuevo_presupuesto = intval($datos[presupuesto]) + 450;
                $ranking=intval($datos[rank]) + 100;
                //Ascendio
                $nuevacat='A';
            }elseif($cat=='C') {
                $nuevo_presupuesto = intval($datos[presupuesto]) + 225;
                $ranking=intval($datos[rank]) + 50;
                //Ascendio
                $nuevacat='B';
            }elseif($cat=='D') {
                $nuevo_presupuesto = intval($datos[presupuesto]) + 150;
                $ranking=intval($datos[rank]) + 25;
                //Ascendio
                $nuevacat='C';
            }
        }elseif ($datos[pos] == '3') {
        //Si la posicion es 3
            if($cat =='A') {
                $nuevo_presupuesto = intval($datos[presupuesto]) + 700;
                $ranking=intval($datos[rank]) + 170;
            }elseif($cat=='B') {
                $nuevo_presupuesto = intval($datos[presupuesto]) + 350;
                $ranking=intval($datos[rank]) + 85;
            }elseif($cat=='C') {
                $nuevo_presupuesto = intval($datos[presupuesto]) + 175;
                $ranking=intval($datos[rank]) + 43;
            }elseif($cat=='D') {
                $nuevo_presupuesto = intval($datos[presupuesto]) + 100;
                $ranking=intval($datos[rank]) + 22;
            }
        }elseif ($datos[pos] == '4') {
        //Si la posicion es 4
            if($cat =='A') {
                $nuevo_presupuesto = intval($datos[presupuesto]) + 500;
                $ranking=intval($datos[rank]) + 140;
            }elseif($cat=='B') {
                $nuevo_presupuesto = intval($datos[presupuesto]) + 250;
                $ranking=intval($datos[rank]) + 70;
            }elseif($cat=='C') {
                $nuevo_presupuesto = intval($datos[presupuesto]) + 125;
                $ranking=intval($datos[rank]) + 35;
            }elseif($cat=='D') {
                $nuevo_presupuesto = intval($datos[presupuesto]) + 75;
                $ranking=intval($datos[rank]) + 18;
            }
        }elseif($datos[pos] == '5') {
        //Si la posicion es 5
            if($cat =='A') {
                $nuevo_presupuesto = intval($datos[presupuesto]) + 350;
                $ranking=intval($datos[rank]) + 90;
            }elseif($cat=='B') {
                $nuevo_presupuesto = intval($datos[presupuesto]) + 175;
                $ranking=intval($datos[rank]) + 45;
            }elseif($cat=='C') {
                $nuevo_presupuesto = intval($datos[presupuesto]) + 75;
                $ranking=intval($datos[rank]) + 23;
            }elseif($cat=='D') {
                $nuevo_presupuesto = intval($datos[presupuesto]) + 50;
                $ranking=intval($datos[rank]) + 12;
            }
        }elseif ($datos[pos] == '6') {
        //Si la posicion es 6
            if($cat =='A') {
                $nuevo_presupuesto = intval($datos[presupuesto]) + 250;
                $ranking=intval($datos[rank]) + 50;
            }elseif($cat=='B') {
                $nuevo_presupuesto = intval($datos[presupuesto]) + 100;
                $ranking=intval($datos[rank]) + 25;
            }elseif($cat=='C') {
                $nuevo_presupuesto = intval($datos[presupuesto]) + 50;
                $ranking=intval($datos[rank]) + 13;
            }elseif($cat=='D') {
                $nuevo_presupuesto = intval($datos[presupuesto]) + 25;
                $ranking=intval($datos[rank]) + 7;
            }
        }elseif ($datos[pos] == '7') {
        //Si la posicion es 7
            if($cat =='A') {
                $nuevo_presupuesto = intval($datos[presupuesto]) + 100;
                $ranking=intval($datos[rank]) + 30;
            }elseif($cat=='B') {
                $nuevo_presupuesto = intval($datos[presupuesto]) + 50;
                $ranking=intval($datos[rank]) + 15;
            }elseif($cat=='C') {
                $nuevo_presupuesto = intval($datos[presupuesto]) + 10;
                $ranking=intval($datos[rank]) + 8;
            }elseif($cat=='D') {
            $ranking=intval($datos[rank]) + 4;
            }
        }elseif ($datos[pos] == '8') {
        //Si la posicion es 8
            if($cat =='A') { 
                $ranking=intval($datos[rank]) + 15;
            }elseif($cat=='B') {
                $ranking=intval($datos[rank]) + 8;
            }elseif($cat=='C') {
                $ranking=intval($datos[rank]) + 4;
            }elseif($cat=='D') {
                $ranking=intval($datos[rank]) + 2;
            }
        }elseif ($datos[pos] == '9') {
        //Si la posicion es 9
        //Descendió
            if($cat =='A') {
                $nuevacat='B';
                $ranking=intval($datos[rank]) + 7;
            }elseif($cat=='B') {
                $nuevacat='C';    
                $ranking=intval($datos[rank]) + 4;
            }elseif($cat=='C') {
                $nuevacat='D';
                $ranking=intval($datos[rank]) + 2;
            }elseif($cat=='D') {
                $ranking=intval($datos[rank]) + 1;
            }
        }elseif ($datos[pos] == '10') {
        //Si la posicion es 10
        //Descendió
            if($cat =='A') {
                $nuevacat='B';
                $ranking=intval($datos[rank]) + 1;
            }elseif($cat=='B') {
                $nuevacat='C';    
                $ranking=intval($datos[rank]) + 1;
            }elseif($cat=='C') {
                $nuevacat='D';
                $ranking=intval($datos[rank]) + 1;
            }elseif($cat=='D') {
                $ranking=intval($datos[rank]) + 0;
            }
        }


        //Ahora procedo a guardar todos los datos que recolecte antes

if($nuevacat != '') {
        if(mysql_query("UPDATE usuarios SET cat='$nuevacat',presupuesto='$nuevo_presupuesto',rank='$ranking' WHERE nick='$datos[nick]'")) {
            echo "<br>Se ha bonificado y actualizado, la categoría y el presupuesto de ".$nick."<br>";
        } else {
            echo "<br>Por algún motivo no se pudo actualizar el perfil de ".$nick."<br>";
        }

    } else {

        if(mysql_query("UPDATE usuarios SET presupuesto='$nuevo_presupuesto',rank='$ranking' WHERE nick='$nick'")) {
            echo "<br>Se ha bonificado y actualizado el presupuesto de ".$nick."<br>";
        }else{
            echo "<br>Por algún motivo no se pudo actualizar el perfil de ".$nick."<br>";
        }

    }
    } //Acá termina el While

}else{
?>

<form name="bonificar" action="bonificar.php" method="POST">
<input type="Submit" name="bonificar" value="Bonificar" id="bonificar">
</form>
<? ?>

eso es todo el código, obviamente faltan las líneas de verificar si es un administrador y la selección del template, pero eso no es problema porque está puesto en varios archivos y el error está acá nada más.

Muchas gracias a los que respondieron y a los que piensan hacerlo ;)

Última edición por kazeman; 22/09/2005 a las 13:24 Razón: nuevo problema y nueva version del codigo