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 ;)