Разобраться в скрипте

Статус
В этой теме нельзя размещать новые ответы.

Squoll2

Постоялец
Регистрация
2 Июн 2009
Сообщения
80
Реакции
15
помогите разобраться в скрипте вот 2 файла
PHP:
<?
include 'dbcon.php';
include 'classes.php';
include 'antisql.php';
$resultgrow = mysql_query("SELECT * FROM `growing`");
while($line = mysql_fetch_array($resultgrow, MYSQL_ASSOC)) {
	$lost = floor(rand(0, $line['amount'] * 5));
	if ($lost != 0){
		$newamount = $line['cropamount'] - $lost;
		Send_Event($line['userid'], $lost." of your ".$line['croptype']." plants have died. Crop ID:".$line['id']);
	}
	$resultgrowupdate = mysql_query("UPDATE `growing` SET `cropamount` = '".$newamount."' WHERE `id` = '".$line['id']."'");
}
//delete rows that are empty and give back land to owner
$resultgrow = mysql_query("SELECT * FROM `growing`");
while($line = mysql_fetch_array($resultgrow, MYSQL_ASSOC)) {
	if ($line['cropamount'] == 0){
		Give_Land($line['cityid'], $line['userid'], $line['amount']);
		$result = mysql_query("DELETE FROM `growing` WHERE `id`='".$line['id']."'");
	}
}
//$result2 = mysql_query("DELETE FROM `spylog` WHERE `age` < ".time() - 172800);// clear out old spy log stuff
$deletechat = mysql_query("DELETE FROM `message`");
// Lottery Stuff
$checklotto = mysql_query("SELECT * FROM `lottery`");
$numlotto = mysql_num_rows($checklotto);
$amountlotto = $numlotto * 750;
$offset_result = mysql_query( " SELECT FLOOR(RAND() * COUNT(*)) AS `offset` FROM `lottery` ");
$offset_row = mysql_fetch_object( $offset_result );
$offset = $offset_row->offset;
$result = mysql_query( " SELECT * FROM `lottery` LIMIT $offset, 1 " );
$worked = mysql_fetch_array($result);
$winner = $worked['userid'];
$lottery_user = new User($worked['userid']);
$newmoney = $lottery_user->money + $amountlotto;;
Send_Event($lottery_user->id, "You won the lottery! Congratulations, you won $".$amountlotto);
$result2 = mysql_query("UPDATE `grpgusers` SET `money` = '".$newmoney."' WHERE `id` = '".$lottery_user->id."'");
$result2 = mysql_query("DELETE FROM `lottery`");
// Lottery Stuff
$result = mysql_query("SELECT * FROM `grpgusers`");
while($line = mysql_fetch_assoc($result)) {
	$updates_user = new User($line['id']);
	$newmoney = $updates_user->money;
	$username = $updates_user->username;
	$newrmdays = $updates_user->rmdays - 1;
	$newrmdays = ($newrmdays < 0) ? 0 : $newrmdays;
	if($newrmdays > 1) {
		$interest = .04;
	} else {
		$interest = .02;
	}
	$newbank = ceil($updates_user->bank + ($updates_user->bank * $interest));
	if($updates_user->job != 0){
		$result_job = mysql_query("SELECT * FROM `jobs` WHERE `id`='".$updates_user->job."'");
		$worked_job = mysql_fetch_array($result_job);
		$newmoney = $newmoney + $worked_job['money'];
		Send_Event($updates_user->id, "You earned $".$worked_job['money']." from your job. You now have $".$newmoney);
	}
	// hooker stuff
	if($updates_user->hookers > 0){
		$newmoney = $newmoney + (300 * $updates_user->hookers);
		Send_Event($updates_user->id, "You earned $".($updates_user->hookers * 300)." from your hookers. You now have $".$newmoney);
	}
	//hooker stuff
	$result2 = mysql_query("UPDATE `grpgusers` SET `money` = '".$newmoney."', `rmdays` = '".$newrmdays."', `bank` = '".$newbank."', `searchdowntown` = '100' WHERE `username` = '".$username."'");
}
?>
PHP:
<?
include 'header.php';
include 'antisql.php';
if ($_GET['harvest']){
	$result = mysql_query("SELECT * FROM `growing` WHERE `id`='".$_GET['harvest']."'");
	$worked = mysql_fetch_array($result);
	$error = ($user_class->id != $worked['userid']) ? "Вы невладелец этого растения." : $error;
	$error = ($worked['timedone'] > time()) ? "Это растение ещё невыросло." : $error;
	if (isset($error)){
		echo Message($error);
		include 'footer.php';
		die();
	}
	$newpot = $user_class->marijuana + $worked['cropamount'];
	$result = mysql_query("UPDATE `grpgusers` SET `marijuana` = '".$newpot."' WHERE `id`='".$user_class->id."'");
	Give_Land($worked['cityid'], $worked['userid'], $worked['amount']);
	$user_class = new User($_SESSION['id']);
	$result2= mysql_query("DELETE FROM `growing` WHERE `id`='".$_GET['harvest']."'");
	echo Message("Вы получили ".$worked['cropamount']." растений марихуаны.");
}
if ($_POST['plant']){
	$result = mysql_query("SELECT * FROM `land` WHERE `city`='".$user_class->city."' AND `userid`='".$user_class->id."'");
	$worked = mysql_fetch_array($result);
 	$newlandtotal = $worked['amount'] - $_POST['amount'];
 	$currentland = Check_Land($user_class->city, $user_class->id);
	$error = ($_POST['amount'] > $worked['amount']) ? "У вас недостаточно земли для стольких семян." : $error;
	$error = ($_POST['amount'] < 1) ? "Пожалуйста введите правильное число." : $error;
	$error = (($_POST['amount'] * 100) > $user_class->potseeds) ? "У вас нехватает семян. Разрешено 100 семян на одни акр земли." : $error;
	if (isset($error)){
		echo Message($error);
		include 'footer.php';
		die();
	}
$result= mysql_query("INSERT INTO `growing` (`userid`, `cityid`, `amount`, `croptype`, `cropamount`, `timeplanted`, `timedone`)"."VALUES ('".$user_class->id."', '".$user_class->city."', '".$_POST['amount']."', 'pot', '".($_POST['amount'] * 100)."', ".time().", '".(time() + 604800)."')");
	$newland = $worked['amount'] - $_POST['amount'];
	$newpotseeds = $user_class->potseeds - ($_POST['amount'] * 100);
	$result = mysql_query("UPDATE `grpgusers` SET `potseeds` = '".$newpotseeds."' WHERE `id`='".$user_class->id."'");
	Take_Land($user_class->city, $user_class->id, $_POST['amount']);
	$user_class = new User($_SESSION['id']);
	echo Message("Вы посадили ".$_POST['amount']." акров марихуаны.");
}
?>
<tr><td class="contenthead">Управление землёй</td></tr>
<tr><td class="contentcontent">
Здесь вы можете управлять своей землёй.
</td></tr>
<?
$result = mysql_query("SELECT * FROM `land` WHERE `city`='".$user_class->city."' AND `userid`='".$user_class->id."'");
$worked = mysql_fetch_array($result);
echo '<tr><td class="contenthead">Посадить</td></tr>';
echo '<tr><td class="contentcontent">';
if ($worked['amount'] > 0){
	echo 'У вас '.$worked['amount'].' aкров земли в '.$user_class->cityname.' and '.$user_class->potseeds.' семян марихуаны, их хватает для посадки '.floor($user_class->potseeds / 100).' акров марихуаны.';
?>
<form method='post'><input type='text' name='amount' size='3' maxlength='20'> Acres <input type='submit' name='plant' value='Посадить семена'></post>
<?
} else {
	echo "У вас нету земли в этом городе.";
}
echo '</td></tr>';
$result = mysql_query("SELECT * FROM `growing` WHERE `cityid`='".$user_class->city."' AND `userid`='".$user_class->id."'");
$worked = mysql_fetch_array($result);
echo '<tr><td class="contenthead">На данный момент растёт</td></tr>';
echo '<tr><td class="contentcontent">';
if ($worked['amount'] > 0){
	echo "<table width ='100%'><tr><td><b>ID</b></td><td><b>Тип</b></td><td><b>Посажено</b></td><td><b>Осталось</b></td><td><b>Осталось времени</b></td></tr>";
	$result = mysql_query("SELECT * FROM `growing` WHERE `cityid`='".$user_class->city."' AND `userid`='".$user_class->id."'");
	while($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
		$howlong = ($line['timedone'] < time()) ? 'Готово! <a href="fields.php?harvest='.$line['id'].'">Собрать урожай</a>' : howlongtil($line['timedone']);
		echo "<tr><td>".$line['id']."</td><td>".$line['croptype']."</td><td>".$line['amount']."</td><td>".$line['cropamount']."</td><td>".$howlong."</td></tr>";
	}
	echo '</table>';
} else {
	echo "У вас нету земли с травой.";
}
echo '</td></tr>';
include 'footer.php';
?>
при загрузки файла обновляется поле cropamount но при том поля timeplanted и timedoneостаются на своих местах итого выходит что скрипт неработает полностью так как выводится что при обновлении значении оставчшехсих семян уменьшается а врема нет. Как поправит скрипт чтобы и время тоже уменьшалось на один день вот данные таблицы growing
PHP:
 	Поле  	Тип  	Сравнение  	Атрибуты  	Null  	По умолчанию  	Дополнительно  	Действие
	id 	int(20) 			Нет 		auto_increment 	Обзор уникальных значений 	Изменить 	Удалить 	Первичный 	Уникальный 	Индекс 	Полнотекстовый
	userid 	int(20) 			Нет 			Обзор уникальных значений 	Изменить 	Удалить 	Первичный 	Уникальный 	Индекс 	Полнотекстовый
	cityid 	int(20) 			Нет 			Обзор уникальных значений 	Изменить 	Удалить 	Первичный 	Уникальный 	Индекс 	Полнотекстовый
	amount 	int(20) 			Нет 			Обзор уникальных значений 	Изменить 	Удалить 	Первичный 	Уникальный 	Индекс 	Полнотекстовый
	croptype 	varchar(75) 	latin1_general_ci 		Нет 			Обзор уникальных значений 	Изменить 	Удалить 	Первичный 	Уникальный 	Индекс 	Полнотекстовый
	cropamount 	int(20) 			Нет 			Обзор уникальных значений 	Изменить 	Удалить 	Первичный 	Уникальный 	Индекс 	Полнотекстовый
	timeplanted 	int(20) 			Нет 			Обзор уникальных значений 	Изменить 	Удалить 	Первичный 	Уникальный 	Индекс 	Полнотекстовый
	timedone 	int(20) 			Нет 			Обзор уникальных значений 	Изменить 	Удалить 	Первичный 	Уникальный 	Индекс 	Полнотекстовый
 
$resultgrowupdate = mysql_query("UPDATE `growing` SET `cropamount` = '".$newamount."' WHERE `id` = '".$line['id']."'");

заменить на

$resultgrowupdate = mysql_query("UPDATE `growing` SET `cropamount` = '".$newamount."', timeplanted=timeplanted+1, timedone=".time()." WHERE `id` = '".$line['id']."'");
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху