Здравствуйте. Я пишу на джаве/си и, в силу обстоятельств, мне пришлось написать один сайт на php. Суть сайта в выборе среди двух людей того, кто более симпатичный ("Социальная сеть", привет). Так вот. Php изучаю прямо по ходу написания.
И вроде все работает (записывает текущий раудн, рейтинг), но при выборе одной записи среди, например, записей с id 2 и 7 запишет в БД 2 и 9 или 3 и 6 (не думаю, что там рандом, но все же), или может вообще только одну запись сделать. Прошу помочь мне разобраться, т.к. в окружении на php никто тоже не пишет (я студент, многого еще не понимаю).
Даю код:
Функция голосования:
function vote($plus, $minus) {
$winRate = getRatingById($plus);
$winRounds = getRoundsById($plus);
$looseRate = getRatingById($minus);
$looseRounds = getRoundsById($minus);
$winValue = possibility($winRate - $looseRate);;
$looseValue = 1 - $posibility;
$winNewRate = $winRate + coef($winRate,$winRounds)*(1 - $winValue);
$looseNewRate = $winRate - coef($looseRate,$looseRounds)*($looseValue);
mysql_query("UPDATE `rating_db`.`girls` SET `ROUNDS` = '$winRounds ' + 1, `RATING` = '$winNewRate' WHERE `girls`.`ID` = '$plus';");
mysql_query("UPDATE `rating_db`.`girls` SET `ROUNDS` = '$looseRounds' + 1, `RATING` = '$looseNewRate' WHERE `girls`.`ID` = '$minus';");
}
Из файла index.php:
$id = getRandID(9);
$id1_img = $source.$id['first'].$format;
$id2_img = $source.$id['second'].$format;
if(isset($_POST['first_x']) || isset($_POST['first'])) {
vote($_POST['first'], $id['second']);
redirect();
}
elseif(isset($_POST['second_x']) || isset($_POST['second'])) {
vote($_POST['second'], $id['first']);
redirect();
}
Почему так происходит, сижу, ломаю голову. Может, я не до конца понял принцип работы рандома php. В общем, кто может помочь или кто есть в социальных сетях или скайпе, допустим, и может посмотреть, буду признателен.