Малко математика и два резултата от дб

stuser

Registered
$respect=$row['respect'];
$money = $row['money'];

и ми изкарва примерно
1000 атака и 4000 пари
как да направя така че парите да ми качват % респект

и да бъде динамично като ми намаляват или повишават парите да ми се променя и респекта
 
Правиш колкото процента искаш са ти от парите в една променлива и след това ги пребавяш към уважението.
Код:
<?php
$respect=$row['respect'];
$money = $row['money']; 
$percent=10;
$part=($percent / 100) * $money;
$respectnew=$respect + $part;
$sql=mysql_query("UPDATE `таблица` SET `поле`='$respectnew' WHERE `поле`='променлива'") or die(mysql_error());
?>
 
примерно:

Код:
<?php
//заявката
//$money = $row['money']; 
//$respect = $row['respect'];
$respect = "100"; //ако респекта ти е 100
$money = "4000";  //ако имаш 4000 парички
$coef = "50"; //Коефициента, по който ще се изчислява респетка

$newrespect = ($respect*$money)/$coef;

echo "$newrespect"; //Изкарва ти резултат 8000 респект


?>

вече от там-натам ти си решаваш как да ти се изчислява, ако имаш проблем пиши в темата и ще ти помогна :)
 
Dizasterr всеки път като рефрешн и ми се увеличава респекта

t0m3kk така няма да стане защото ако извеждам в класацията играчи по респект ще ми извежда респекта записан в дб а той не е умножен по парите и е по малък затова няма как да стане по този начин
 
stuser каза:
Dizasterr всеки път като рефрешн и ми се увеличава респекта

t0m3kk така няма да стане защото ако извеждам в класацията играчи по респект ще ми извежда респекта записан в дб а той не е умножен по парите и е по малък затова няма как да стане по този начин

променливата $newrespect се записва в полето respect в базата ти данни :) а после класацията си я изкарваш по полето respect...

примерно така си слагаш $newrespect в базата данни...

Код:
$update = mysql_query("UPDATE `users` SET `respect`='$newrespect' WHERE `id`='ид-то-на-потребителя'") or die(mysql_error());

но ти си знаеш :)
 
Код:
<?php
$respect=$row['respect'];
$money = $row['money'];
$percent=10;
$part=($percent / 100) * $money;
$respectnew=$respect + $part;
if($respect != $respectnew) {
$sql=mysql_query("UPDATE `таблица` SET `поле`='$respectnew' WHERE `поле`='променлива'") or die(mysql_error());
}
?>
 
Там, където ти се дават парите или ти ги изпращат предполагам е нещо от рода на:
<?php
$pari=500;
$sql=mysql_query("INSERT INTO table (`pari`) VALUES ('$pari') WHERE username='$_SESSION[username]'");
?>
И така ти инсъртва парите. Когато ти дава парите ще ти добавя код да ти добави в респекта даден процент от тези пари - да кажем на 4000 кинти 4 % респект.
<?php
$pari=5000; //това са ти парите, които отиват в базата данни
$sql=mysql_query("INSERT INTO table (`pari`) VALUES ('$pari') WHERE username='$_SESSION[username]'");
$rowec=mysql_fetch_array(mysql_query("SELECT pari, respect FROM table"));
$kinti=$rowec['pari'];
$respect=$rowec['respect'];
$vutre=100-$respect;
$newrespect=$kinti/1000;
if($respect < 100 $newrespect =< $vutre){ //правим проверка дали е по-малко от 100, ако е - инсъртва му още, ако не е - не му слага
$query=mysql_query("UPDATE table SET respect=respect+$newrespect WHERE username='$_SESSION[username]'");
}
?>
Не знам 5000 пари дали са много или малко но ти си ги променяй. Ако искаш на 40000 пари да ти добавя 4% смени $pari/1000 с $pari/10000 и така нататък.
Таблицата
Това можах да измъдря, малко по-късно ако се сетя ще го направя и по-добре.
Едит: сложих му и проверка да прави, да не стане така, че да има 95% респек и да добави 10 и да станат 105%. Повече от 100% не би трябвало да може да инсъртва.
 
сега се замисли и видях че тази проверка няма как да работи
if($respect != $respectnew)
защото респекта ми се увеличава по парите ми в момента и няма как да се засекът да са едни и същи
 
stuser каза:
сега се замисли и видях че тази проверка няма как да работи
if($respect != $respectnew)
защото респекта ми се увеличава по парите ми в момента и няма как да се засекът да са едни и същи
Прав си. И аз я видях, но все още мисля как да я избегна.
 
stuser каза:
сега се замисли и видях че тази проверка няма как да работи
if($respect != $respectnew)
защото респекта ми се увеличава по парите ми в момента и няма как да се засекът да са едни и същи
Погледна ли моя пост?
 

Горе