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

C++ JAVA
stuser
Нов
Нов
Posts: 133
Joined: Fri Mar 06, 2009 7:46 am

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

Post by stuser » Sat Feb 13, 2010 2:12 pm

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

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

и да бъде динамично като ми намаляват или повишават парите да ми се променя и респекта

User avatar
Dizasterr
Много Редовен
Много Редовен
Posts: 1919
Joined: Thu Nov 05, 2009 9:49 pm
Answers: 52
Contact:

Post by Dizasterr » Sat Feb 13, 2010 2:54 pm

Правиш колкото процента искаш са ти от парите в една променлива и след това ги пребавяш към уважението.

Code: Select all

<?php
$respect=$row&#91;'respect'&#93;;
$money = $row&#91;'money'&#93;; 
$percent=10;
$part=&#40;$percent / 100&#41; * $money;
$respectnew=$respect + $part;
$sql=mysql_query&#40;"UPDATE `таблица` SET `поле`='$respectnew' WHERE `поле`='променлива'"&#41; or die&#40;mysql_error&#40;&#41;&#41;;
?>


User avatar
t0m3kk
Потребител
Потребител
Posts: 722
Joined: Sat Feb 28, 2009 3:27 pm
Answers: 86
Location: Somewhere between heaven and hell

Post by t0m3kk » Sat Feb 13, 2010 2:56 pm

примерно:

Code: Select all

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

$newrespect = &#40;$respect*$money&#41;/$coef;

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


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

stuser
Нов
Нов
Posts: 133
Joined: Fri Mar 06, 2009 7:46 am

Post by stuser » Sat Feb 13, 2010 3:09 pm

Dizasterr всеки път като рефрешн и ми се увеличава респекта

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

User avatar
t0m3kk
Потребител
Потребител
Posts: 722
Joined: Sat Feb 28, 2009 3:27 pm
Answers: 86
Location: Somewhere between heaven and hell

Post by t0m3kk » Sat Feb 13, 2010 3:13 pm

stuser wrote:Dizasterr всеки път като рефрешн и ми се увеличава респекта

t0m3kk така няма да стане защото ако извеждам в класацията играчи по респект ще ми извежда респекта записан в дб а той не е умножен по парите и е по малък затова няма как да стане по този начин
променливата $newrespect се записва в полето respect в базата ти данни :) а после класацията си я изкарваш по полето respect...

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

Code: Select all

$update = mysql_query&#40;"UPDATE `users` SET `respect`='$newrespect' WHERE `id`='ид-то-на-потребителя'"&#41; or die&#40;mysql_error&#40;&#41;&#41;; 
но ти си знаеш :)
Last edited by t0m3kk on Sat Feb 13, 2010 3:15 pm, edited 1 time in total.

User avatar
Dizasterr
Много Редовен
Много Редовен
Posts: 1919
Joined: Thu Nov 05, 2009 9:49 pm
Answers: 52
Contact:

Post by Dizasterr » Sat Feb 13, 2010 3:15 pm

Code: Select all

	
<?php
$respect=$row&#91;'respect'&#93;;
$money = $row&#91;'money'&#93;;
$percent=10;
$part=&#40;$percent / 100&#41; * $money;
$respectnew=$respect + $part;
if&#40;$respect != $respectnew&#41; &#123;
$sql=mysql_query&#40;"UPDATE `таблица` SET `поле`='$respectnew' WHERE `поле`='променлива'"&#41; or die&#40;mysql_error&#40;&#41;&#41;;
&#125;
?>


stuser
Нов
Нов
Posts: 133
Joined: Fri Mar 06, 2009 7:46 am

Post by stuser » Sat Feb 13, 2010 3:27 pm

продължава да се увеличава
може би защото ми излиза така 19100.07
с точка
Last edited by stuser on Sat Feb 13, 2010 3:30 pm, edited 1 time in total.

User avatar
DeathGuard_
Много Редовен
Много Редовен
Posts: 1975
Joined: Sat Sep 27, 2008 9:17 pm
Answers: 207
Location: Наоколо...
Contact:

Post by DeathGuard_ » Sat Feb 13, 2010 3:29 pm

Там, където ти се дават парите или ти ги изпращат предполагам е нещо от рода на:
<?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% не би трябвало да може да инсъртва.

stuser
Нов
Нов
Posts: 133
Joined: Fri Mar 06, 2009 7:46 am

Post by stuser » Sat Feb 13, 2010 3:42 pm

сега се замисли и видях че тази проверка няма как да работи
if($respect != $respectnew)
защото респекта ми се увеличава по парите ми в момента и няма как да се засекът да са едни и същи

User avatar
Dizasterr
Много Редовен
Много Редовен
Posts: 1919
Joined: Thu Nov 05, 2009 9:49 pm
Answers: 52
Contact:

Post by Dizasterr » Sat Feb 13, 2010 4:55 pm

stuser wrote:сега се замисли и видях че тази проверка няма как да работи
if($respect != $respectnew)
защото респекта ми се увеличава по парите ми в момента и няма как да се засекът да са едни и същи
Прав си. И аз я видях, но все още мисля как да я избегна.

Post Reply