La base de datos guarda "objeto" que es lo que someto a votación, sus datos en lista: posición más alta, semanas en la lista y el puesto de la semana anterior y los votos tanto de la semana como del mes y del año (estos dos últimos los actualizaría con otro script). Además también una imagen. El código es el siguiente:
Código HTML:
<?php
include ("../usarBaseDatos.php");
$consulta="SELECT * FROM votacion ;";
$hacerConsulta = mysql_query ($consulta, $conectado);
$numeroDeRegistros=mysql_num_rows ($hacerConsulta);
$votosaux=0;
for($i=0;$i<$numeroDeRegistros;$i++){
for($j=0;$j<$numeroDeRegistros;$j++){
$votos = mysql_result ($hacerConsulta, $j, "votos_semana");
if ($votos>$votosaux){
$posaux = mysql_result ($hacerConsulta, $j, "posicion");
}
}
$k= ($posaux - 1);
$objetonew= mysql_result ($hacerConsulta, $k, "objeto");
$semanaPasadanew= $posaux;
if($aux1=mysql_result ($hacerConsulta, $k, "puesto_alto") > $posaux){
$puestoAltonew= mysql_result ($hacerConsulta, $k, "puesto_alto");
}else{
$puestoAltonew = $posaux;
}
$aux2= mysql_result ($hacerConsulta, $k, "semanas_lista");
$semanasListanew= $aux2 + 1;
$imagennew= mysql_result ($hacerConsulta, $k, "imagen");
$votossemnew= 0;
$votosmesnew= mysql_result ($hacerConsulta, $k, "votos_mes") ;
$votosanualnew= mysql_result ($hacerConsulta, $k, "votos_anual") ;
$objetoaux= mysql_result ($hacerConsulta, $i, "objeto");
$semanaPasadaaux= mysql_result ($hacerConsulta, $i, "semana_pasada");
$puestoAltoaux= mysql_result ($hacerConsulta, $i, "puesto_alto");
$semanasListaaux= mysql_result ($hacerConsulta, $i, "semanas_lista");
$imagenaux= mysql_result ($hacerConsulta, $i, "imagen");
$votossemaux= mysql_result ($hacerConsulta, $i, "votos_semana");
$votosmesaux= mysql_result ($hacerConsulta, $i, "votos_mes");
$votosanualaux= mysql_result ($hacerConsulta, $i, "votos_anual");
$consulta2="UPDATE votacion SET posicion='".$i."', objeto='".$objetonew."'semana_pasada='".$semanaPasadanew."', puesto_alto='".$puestoAltonew."'semanas_lista='".$semanasListanew."', imagen='".$imagennew."' votos_semana='".$votossemnew."', votos_mes='".$votosmesnew."'votos_mes='".$votosanualnew."' WHERE posicion=".$i.";";
$hacerConsulta2 = mysql_query ($consulta2, $conectado);
$consulta2="UPDATE votacion SET posicion='".$k."', objeto='".$objetoaux."'semana_pasada='".$semanaPasadaaux."', puesto_alto='".$puestoAltoaux."'semanas_lista='".$semanasListaaux."', imagen='".$imagenaux."' votos_semana='".$votossemaux."', votos_mes='".$votosmesaux."'votos_mes='".$votosanualaux."' WHERE posicion=".$posaux.";";
}/*}*/
?>
1. En el UPDATE - SET , ¿puedo utilizar "posicion" en el WHERE si lo utilizo también en el SET?
2. Para realizar operaciones (sumas y restas) con mysql_result lo igualo antes a un auxiliar. ¿Esto está bien o puedo compararlo directamente?
Por otra parte para que se actualice automáticamente pienso utilizar el siguiente IF:
if ( date("w") == 2 && date("H") == 2 && date("i") == 49 && date("s") == 00 )
¿Está bien escrito o tengo que utilizar también auxiliares?
Espero que me podáis ayudar, que no sea esto un tostón y que no me peguéis mucho si no tengo mucho idea de esto, aprendí mysql y php hace muy muy poco. También agradecería si se puede hacer lo que quiero de forma más breve, que no sé yo si me he liado mucho je, je.
Un saludo y muchas gracias de antemano.