parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Продажа картошки:)

tigrov 27.07.2009 11:14

Допустим, продаем картошку
Выводим список:
<table>
<tr>
<td>Лот
<td>Вид картошки
<td>Продавец
<td>Объем
<td>Сумма
<td>Цена
<td>bay
</tr>

<form method="post" enctype="multipart/form-data">
^rem{menu}		^Market.menu{
<tr>
<td>$Market.id
<td>$Market.vid
<td>$User.id
<td>$Market.amount
<td>$Market.prise
<td>^eval($Market.prise * $Market.amount)
<td><input type="radio" name="whobay" value="$Market.id"/>
</tr>
}
</table>

<input type="submit" name="bay" value="Купить картошку"/>
</form>
Покупаем:
^if(def $form:bay){
$NowBay[$form:tables.whobay]		^rem{что покупаем}
^if($NowBay){
$NowBay[$NowBay.field]
		^MAIN:dbconnect{ 
		$Market[^table::sql{SELECT * FROM `market` WHERE `id` = '$NowBay}]
		}
^if($Market){
		^MAIN:dbconnect{ 
		$UserMoney[^table::sql{SELECT `money`, `kartoha` FROM `user` WHERE `id_user` = '$User.id'}]
		$EnemyResurs[^table::sql{SELECT `money` FROM `user` WHERE `id_user` = '$Market.id_user'}]
		}

$AllPrise[^eval($Market.prise * $Market.amount)] ^rem{получаем сумму}

^if($UserResurs.money >= $AllPrise){ ^rem{проверка хватает ли денег у покупающего}
$SubMoney[^eval($UserMoney.money - $AllPrise)]
$AddResurs[^eval($UserMoney.kartoha + $Market.amount)]
$AddMoneyEnemy[^eval($EnemyResurs.money + $AllPrise)]

		^MAIN:dbconnect{ ^rem{удаляем строку из рынка}
		^void:sql{DELETE FROM `market` WHERE `id` = '$NowBay'}
		}
^if($User.id != $Market.id_user){
 		^MAIN:dbconnect{
		^void:sql{UPDATE `user` SET `money` = '$AddMoneyEnemy' WHERE `id_user` = '$Market.id_user'}
		^void:sql{UPDATE `user` SET `kartoha` = '$AddResurs', `money` = '$SubMoney' WHERE `id_user` = '$User.id'}		
		}
}{              ^rem{если покупаем сами у себя }
		^MAIN:dbconnect{
		^void:sql{UPDATE `user` SET `kartoha` = '$AddResurs' WHERE `id_user` = '$User.id'}		
		}
}

$response:location[/market/]

			}{У Вас не хватает денег <br> Необходимо $AllPrise}
		}{Кто-то Вас опередил с покупкой}
	}{Кота в мешке хотите купить? }
}
Вот так, а теперь вопрос, ктото еще в это же время захотел, купить картошку, вопрос как себя скрипт и база поведут в этом случае?
Да и можно ли оптимизировать код?