В чем проблем? WAP игра. - вопрос №3242515

Приветствую, второй день не могу понять. почему задание в игре не выполняются, то есть не идет прогресс, а тем более завершение и получение алмазов…
case 'task'://Клановые задания
$title = 'Клановые задания';
include './system/h.php';
echo '<div class=«title»>'.$title.'</div>';
$memb = mysql_query('SELECT * FROM `clan_memb` WHERE `user` = "'.$user['id'].'"');
$memb = mysql_fetch_array($memb);

echo'<div class=«empty_block»>
<table width=«100%» border=«0» cellpadding=«0» cellspacing=«0» style=«padding-top: 5px;»>
<tbody><tr><td width=«25%»>
<center><img src="/images/ico/task/clan_task.png" alt="*" width=«72»/></center>
</td>
<td width=«75%»>
<font color="#fff">Выполняй задания и добывай алмазы для клана </font></br>
Собрано алмазов: 68
</td>
</tr></tbody>
</table>
</div><div class=«line»></div>';

////////////////////////////// Обновление новых квестов////////////////////////////
//Добавляем только ежеднемные задания
$req_task = mysql_query ('select * from `clan_task_user` WHERE (`clan`="'.$memb['clan'].'") AND (`complete`=«0»)');
if (mysql_num_rows ($req_task) < 10) {
// Обновление квестов
$req_task = mysql_query ('select * from `clan_task` ');
$i_task = 0;
while ($task__ = mysql_fetch_array ($req_task)) {
$q_task = mysql_query ('SELECT * FROM `clan_task_user` WHERE (`clan`="'.$memb['clan'].'") AND (`task`="'.$task__['id'].'") ');
if (mysql_num_rows ($q_task)==0) {
$i_task++;
if ($i_task <10) {
mysql_query ('INSERT INTO `clan_task_user` (`clan`, `task`) VALUES ("'.$memb['clan'].'", "'.$task__['id'].'") ');
}}}
}
////////////////////////////////////////////////////////////////////////

// Обновление неактивных квестов
$req = mysql_query ('select * from `clan_task_user` WHERE (`clan`="'.$memb['clan'].'") AND (`complete`=«1») ');
if (mysql_num_rows ($req) < 10) {
$i = 0;
while ($clan_task_user = mysql_fetch_array ($req)) {

if ($clan_task_user['time']<time ()) {
$i++;
if ($i < 10) {
mysql_query ('UPDATE `clan_task_user` SET `complete`=«0»,`how`=«0» WHERE (`clan`="'.$memb['clan'].'") AND (`task`="'.$clan_task_user['task'].'") ');
}
}
}
}




$id = _string(_num($_GET['task'])); //Оприделяем какое задание
$clan_task = mysql_fetch_array(mysql_query ('SELECT * FROM `clan_task` WHERE (`id`="'.$id.'")'));
$clan_task_user = mysql_fetch_array(mysql_query ('SELECT * FROM `clan_task_user` WHERE (`clan`="'.$memb['clan'].'") AND (`task`="'.$clan_task['id'].'")'));

if($id){
if($clan_task_user['user'] == 0){
mysql_query ('UPDATE `clan_task_user` SET `user`="'.$user['id'].'", `time_task`="'.(time()+60*60*40).'" WHERE (`clan`="'.$memb['clan'].'") AND (`task`="'.$id.'")');
}elseif($clan_task_user['user_2'] == 0){
mysql_query ('UPDATE `clan_task_user` SET `user_2`="'.$user['id'].'" WHERE (`clan`="'.$memb['clan'].'") AND (`task`="'.$id.'") ');
}


header('location: /clan/task');
exit;
}



// Список невыполненных заданий
$req = mysql_query ('select * from `clan_task_user` WHERE (`clan`="'.$memb['clan'].'") AND (`complete`=«0») ORDER BY `id` ASC');
if (mysql_num_rows ($req) == 0) {
echo 'mkj';//Пишем, что нет заданий
}else{
while ($clan_task_user = mysql_fetch_array ($req)) {
$clan_task = mysql_fetch_array(mysql_query ('SELECT * FROM `clan_task` WHERE (`id`="'.$clan_task_user['task'].'")'));

echo '<div class=«empty_block»>
<font color="#fff"> <img src="/images/ico/png/task.png" width=«18»> '.$clan_task['name'].'</font><br/>
<font color="#90b0c0">';
if ($clan_task_user['how']>=$clan_task['how']) {
echo ' <img src="/images/ico/png/gold.png" alt="*" width=«16»/> '.$clan_task['_gold'].'
<img src="/images/ico/png/silver.png" alt="*" width=«16»/> '.$clan_task['_silver'].'
<img src="/images/ico/png/exp.png" alt="*" width=«16»/> '.$clan_task['_exp'].' </br>';
}
echo'Прогресс: '.$clan_task_user['how'].' из '.$clan_task['how'].' </font><br/>';
if($clan_task_user['user'] != 0){ echo' '.nick($clan_task_user['user']).' ';}
if($clan_task_user['user_2'] != 0){ echo' '.nick($clan_task_user['user_2']).' ';}
if($clan_task_user['time_task'] != 0){ echo' </br> Осталось: '._time($clan_task_user['time_task']-time()).' ';}


if ($clan_task_user['how']>=$clan_task['how']) {
echo '<center><a href="/task?complete='.$clan_task['id'].'"> <input class=«button» type=«submit» value=«Забрать награду»/></a></center>';
}elseif($clan_task_user['user'] == 0){
if(mysql_result(mysql_query('SELECT COUNT(*) FROM `clan_task_user` WHERE `clan` = "'.$memb['clan'].'" AND `user` = "'.$user['id'].'" OR `user_2` = "'.$user['id'].'"'),0) == 0){
echo'<form action="/clan/task?task='.$clan_task_user['task'].'" method=«post»>
<center><input class=«button» type=«submit» value=«Выполнить»/></center>
</form>';
}
}elseif($clan_task_user['user_2'] == 0 AND $clan_task_user['user'] != $user['id']){
if(mysql_result(mysql_query('SELECT COUNT(*) FROM `clan_task_user` WHERE `clan` = "'.$memb['clan'].'" AND `user` = "'.$user['id'].'" OR `user_2` = "'.$user['id'].'"'),0) == 0){
echo'<form action="/clan/task?task='.$clan_task_user['task'].'" method=«post»>
<center><input class=«button» type=«submit» value=«Помочь с заданием»/></center>
</form>';
}
}
echo '</div>
<div class=«line»></div>';
}
}


// Список выполненных задани
$req = mysql_query ('select * from `clan_task_user` WHERE (`clan`="'.$memb['clan'].'") AND (`complete`=«1») ');
if (mysql_num_rows ($req) != 0) {

while ($clan_task_user = mysql_fetch_array ($req)) {
$clan_task = mysql_fetch_array(mysql_query ('SELECT * FROM `clan_task` WHERE (`id`="'.$clan_task_user['task'].'")'));

echo '
<div class=«empty_block»> '.$clan_task['name'].' </span><br/>
Будет доступно через: '._time($clan_task_user['time']-time()).' </div>
<div class=«line»></div>';
}
}
echo' <div class=«empty_block item_center»>
<font color="#90b0c0">За каждое выполненное задание клан получает от 1 до 10 алмазов (случайно), а герой золото и серебро в награду
Подробнее </font><a href="/task/dailyInfo"><font color="#fff">здесь</font></a>
</div><div class=«line»></div>';


echo'<div class=«block_link»><a href="/clan"><img src="/images/ico/png/back.png" alt="*"/> Назад в клан </a></div>
<div class=«line»></div>';
include './system/f.php';
break;
07.04.19
1 ответ

Ответы

В скрипте намешали и запросы к БД, и логику и вывод на экран… жуть.

Сложно ответить на ваш вопрос, надо смотреть более детально. Единственное — глаз зацепился за строчку:
Выполняй задания и добывай алмазы для клана 
Собрано алмазов: 68
Такого быть не должно, статичный вывод значения 68, с чего это вдруг? 

Могу попробовать помочь Вам, но нужно смотреть код целиком с отладчиком а не вот такими кусками
08.04.19

Alexander

Читать ответы

Дима

Читать ответы
Посмотреть всех экспертов из раздела Технологии > PHP
Решено
помощь с $_GET
3 ответа
21.03.12
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store