1 (изменено: Setroler, 2010-06-18 17:53:20)

Тема: Проблема с созданием награды для команды

Здравствуйте, у меня проблема с созданием награды для команды,

<? {

  $s2 = mysql_query($se2) OR die(mysql_error());   
 
    $se3 = "UPDATE cs_awards_admin SET pp10 = '$_POST[pp10]', pp20 = '$_POST[pp20]', pp30 = '$_POST[pp30]', statist = '$_POST[statist]', np = '$_POST[np]', pa = '$_POST[pa]', igr50 = '$_POST[igr50]', igr100 = '$_POST[igr100]', drteam = '$_POST[drteam]', active = '$_POST[active]', year1 = '$_POST[year1]', year2 = '$_POST[year3]', year3 = '$_POST[year3]', year5 = '$_POST[year5]', wins100 = '$_POST[wins100]', wins200 = '$_POST[wins200]', los200 = '$_POST[los200]' WHERE id = '$id'";

$s3 = mysql_query($se3) OR die(mysql_error());   

    echo 'Изменено<br /><br /><br /> Переадресация на страницу команд...............<br />';
   
    echo "<meta http-equiv='refresh' content='5; url=index.php?function=listteams'>";   

    die();
}


$query = mysql_query("SELECT * FROM `cs_awards_admin` WHERE `id` = '$id'");

   while($a = mysql_fetch_array($query)) {

     $pp10 = $a['pp10'];

     $pp20 = $a['pp30'];

     $pp30 = $a['pp30'];

     $statist = $a['statist'];

     $np = $a['np'];

     $pa = $a['pa'];

     $igr50 = $a['igr50'];

     $igr100 = $a['igr100'];
    
     $drteam = $a['drteam'];

     $active = $a['active'];

     $year1 = $a['year1'];

     $year2 = $a['year2'];

     $year3 = $a['year3'];

     $year5 = $a['year5'];

     $wins100 = $a['wins100'];

     $wins200 = $a['wins200'];
    
     $los200 = $a['los200'];
    
     } ?>

Награды :<br />

<select name="awards_admin">

<option value="0">Не Выдавать</option>

<option value="pp10">10 Побед Подряд</option>

<option value="pp20">20 Побед Подряд</option>   

<option value="pp30">30 Побед Подряд</option>    

<option value="statist">Статистам</option>   

<option value="np">Дружным Командам</option>

<option value="pa">Помощь Администрации</option>

<option value="igr50">50 Игр</option>   

<option value="igr100">100 Игр</option>

<option value="drteam">Дружная Команда</option>

<option value="active">Активная Команда</option>   

<option value="year1">Год На Лиге</option>    

<option value="year2">Два Года На Лиге</option>   

<option value="year3">Три Года На Лиге</option>

<option value="year5">Пять Лет На Лиге</option>

<option value="wins100">100 Побед</option>   

<option value="wins200">200 Побед</option>

<option value="los200">200 Поражений</option>

</select>

В phpmyadmin не делает записи для команды. Остальной функционал изменяемый, у команды можно изменить без проблем(на этой же странице в админке)

p.s. это не весь код страницы

2

Re: Проблема с созданием награды для команды

Setroler
При отправке форму вы получите $_POST['awards_admin'] и в нем одно из выбранных в выпадающем списке значений (pp10, wins200 и т. д.).

3

Re: Проблема с созданием награды для команды

Простите, не очень понял. Что именно в коде требует "реконструкции" ? smile

4

Re: Проблема с созданием награды для команды

Вам надо отослать через форму это:
<select name="awards_admin">

Скрипт примет значение выбора из выпадающего списка в глобальной переменной $_POST['awards_admin'].

Получается, что все вот это просто ни к чему.
$se3 = "UPDATE cs_awards_admin SET pp10 = '$_POST[pp10]', pp20 = '$_POST[pp20]', pp30 = '$_POST[pp30]', statist = '$_POST[statist]', np = '$_POST[np]', pa = '$_POST[pa]', igr50 = '$_POST[igr50]', igr100 = '$_POST[igr100]', drteam = '$_POST[drteam]', active = '$_POST[active]', year1 = '$_POST[year1]', year2 = '$_POST[year3]', year3 = '$_POST[year3]', year5 = '$_POST[year5]', wins100 = '$_POST[wins100]', wins200 = '$_POST[wins200]', los200 = '$_POST[los200]' WHERE id = '$id'";

Возможно вместо всех этих полей надо было завести одно awards_admin, к примеру, и записывать в него соответствующее значение. Но это вам лучше знать как все должно быть.

5

Re: Проблема с созданием награды для команды

Hanut сказал:

Вам надо отослать через форму это:
<select name="awards_admin">

Скрипт примет значение выбора из выпадающего списка в глобальной переменной $_POST['awards_admin'].

Получается, что все вот это просто ни к чему.
$se3 = "UPDATE cs_awards_admin SET pp10 = '$_POST[pp10]', pp20 = '$_POST[pp20]', pp30 = '$_POST[pp30]', statist = '$_POST[statist]', np = '$_POST[np]', pa = '$_POST[pa]', igr50 = '$_POST[igr50]', igr100 = '$_POST[igr100]', drteam = '$_POST[drteam]', active = '$_POST[active]', year1 = '$_POST[year1]', year2 = '$_POST[year3]', year3 = '$_POST[year3]', year5 = '$_POST[year5]', wins100 = '$_POST[wins100]', wins200 = '$_POST[wins200]', los200 = '$_POST[los200]' WHERE id = '$id'";

Возможно вместо всех этих полей надо было завести одно awards_admin, к примеру, и записывать в него соответствующее значение. Но это вам лучше знать как все должно быть.

Ну предположим, что есть много команд с разными id. Как по правильнее сделать, чтобы выдавать не все сразу награды, а те которые нужно. Если этот код не нужен, тогда как?

6

Re: Проблема с созданием награды для команды

Setroler
Я не разобрался пока.

В таблице cs_awards_admin надо установить каждому полю (pp10, pp20 и т. д.) значение, выводить его для <select> или нет. Допустим, 0 - не выводить, 1 - выводить. Отметили несколько полей для вывода прописав единицу, и что надо сделать дальше? Теперь надо записать выбранное в <select> значение?

7

Re: Проблема с созданием награды для команды

Я понял, что вы имели ввиду и так и сделал. Теперь в одной таблице награды и данные от команды, все хорошо, обновляет базу и т.д., НО Я бы хотел, если нет наград - писал Награды отсутствуют. Я попробовал сделать так:
<? if($allaward !=''){ ?>
           <?
           if($awards_row10 !='') {
           ?>
           <img src='images/awards/<?=$awards_row10?>.png'>
           <?
           }
           else
           {
           ?>
          
            
<? } ?>
          
           </td></tr>
           </table>
           <?
           }
           else
           {
           ?>
           <table width=100%>
           <tr><td><br><P align="center">Награды отсутсвуют</p></td></tr>
           </table>   
<? } ?>   
      
Не помогло, нее подскажите в чем проблема?

8

Re: Проблема с созданием награды для команды

Setroler
Смотрите как формируется переменная $allaward. Из кода это не понятно.