Будем знакомиться, уважаемые жители форума Приступим сразу к сути вопроса. Есть WAP - игра, в ней присутствуют так сказать клановые задания, php и обращения к таблицам БД, НО не все гладко, не понимаю в чем причина неработоспособности скрипта. Нет прогресса выполнения задания. Буду очень благодарен в указании направления работы. PHP: 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;
Игру писал человек который совершенно не умеет работать с БД. И судя по устаревшему mysql_ писал достаточно давно. @bobinete, я так понимаю вы фрилансер который подрядился подшаманить код игры. Вряд ли кто-то на форуме будет работать за вас бесплатно
тут автору нужно понимать, что для того, чтобы в модуле всего лишь вывода прогресса выполнения заданий, нужно ВО ВСЕХ остальных модулях, где эти задания выполняются, заполнять БД для них то есть, если автор взялся фрилансить 1 модуль за 20 рублей, то на самом деле ему нужно отредачить 5 модулей: 1. В модуле Арена запрос при каждой победе +1 для задания побед над противниками. 2. В модуле Босс запрос при каждом бое на +1 для задания проведенных боёв с Боссом. 3. В модуле набегов запрос на +1 если была заявка и участие в набеге для задания Набег. 4. В модуле Тренировка запрос на +1 при каждом повышении одного из скилов для задания по тренировке. 5. В модуле Кузница запрос на +1 при каждом разборе для задания по разборке. Тогда и прогресс будет виден в шестой локации - Задания.