За последние 24 часа нас посетил 15621 программист и 1557 роботов. Сейчас ищут 833 программиста ...

Необходимо исправить скрипт

Тема в разделе "PHP Free-Lance", создана пользователем trilldll, 2 июн 2014.

  1. trilldll

    trilldll Новичок

    С нами с:
    2 июн 2014
    Сообщения:
    2
    Симпатии:
    0
    Работы на 10 минут, не могу сам сообразить как сделать.

    Есть 2 выпадающих списка в которых выбираются значения, по результатам выбора значений выводится таблица.
    Один селекторный список содержит в себе номера групп, - выбираем группу, получаем информацию только по этой группе, но скрипт же выводит только значения для id=1, остальные игнорирует.
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    покажи скрипт-то
     
  3. trilldll

    trilldll Новичок

    С нами с:
    2 июн 2014
    Сообщения:
    2
    Симпатии:
    0
    Схема данных:
    yadi.sk/d/tL2NTeX5S2YeQ

    Запрос на выборку информации из таблицы формируется следующим образом, в первом выпадающем списке указываем название кафедры, во втором выпадающем списке номер специальности, по этим данным выбираются все дисциплины, которые ведет выбранная кафедра у выбранного номера специальности, выглядит это примерно так:
    yadi.sk/d/YrfWtJZSS2Yeg
    при выборе номера специальности выгружается только дисциплины для id_special = 1, другие не выводятся.

    Каждому id_group соответствует свой id_special и соответственно numb_group. Запрос же выводит только те группы и дисциплины, значения которых соответствуют id_special=1

    Код (Text):
    1.  
    2. print "<form action='' method='post'>
    3.             <select name='tId'>";
    4.         $sql = mysql_query("SELECT id_kafedra,name_kafedra FROM kafedra");
    5.         while($row = mysql_fetch_row($sql))
    6.         {
    7.             print "<option value='$row[0]'>$row[1]</option>";
    8.         }
    9.         print "</select>
    10.             <select name='pId'>";
    11.         $sql = mysql_query("SELECT id_special,numb_special FROM special");
    12.         while($row = mysql_fetch_row($sql))
    13.         {
    14.             print "<option value='$row[0]'>$row[1]</option>";
    15.         }
    16.         print "<input name='sb' type='submit' value='Show table'>
    17.             </form>";
    18.        
    19.         if(isset($_POST['sb']))
    20.         {
    21.             print "<table border='1' style='border: 1px solid blue;'>";
    22.             print "<tr><td>ФИО</td><td>Ставка</td><td>Дисциплина</td><td>Номер спец.</td><td>Курс</td><td>Номер группы</td>";
    23.             print "<td>Кол. чел.</td><td>Кол. лекц.</td><td>   Кол. прак.</td><td>  Кол. лаб.</td><td>    Кол.КСР</td>";
    24.             print "<td>Экз</td><td>  Зач  </td><td>Зач с оцен.</td><td>   Курс. раб    </td><td>Курс. проект </td><td>Контр. раб</td>";
    25.             print "<td>Сумма часов</td></tr>";
    26.         $fp = fopen('csv_q3_'.$_POST['tId'].'.csv','w');
    27.             fwrite($fp,iconv('UTF-8','windows-1251',"ФИО;Ставка;Дисциплина;Номер спец.;Курс;Номер группы;Кол. чел.;Кол.лекц.;Кол. прак.;Кол. лаб.;Кол. КСР;Экз;Зач;Зач с оцен.;Курс. раб;Курс. проект;Контр. раб;Сумма часов;")."\n");
    28.             #." AND id_special = ".mysql_escape_string($_POST['pId'])
    29.             $query = mysql_query("SELECT * FROM nagruzki WHERE id_kafedra = ".mysql_escape_string($_POST['tId']));
    30.             $fullSumm = array();
    31.             while($row = mysql_fetch_row($query))
    32.             {
    33.                
    34.                 $pInfo = mysql_fetch_row(mysql_query("SELECT fio,stavka FROM prepod WHERE id_prepod = $row[4]"));
    35.                 $dInfo = mysql_fetch_row(mysql_query("SELECT name_discip FROM discip WHERE  id_discip = $row[1]"));
    36.                 $gInfo = mysql_fetch_row(mysql_query("SELECT * FROM `group` WHERE id_group = '1' OR id_group = '2' OR id_group = '3'"));
    37.                 $sInfo = mysql_fetch_row(mysql_query("SELECT name_special FROM  special WHERE  id_special = $gInfo[1]"));
    38.                
    39.                 $totalHours = 0;
    40.                 for($i=5;$i<=14;$i++)
    41.                     $totalHours += $row[$i];
    42.                
    43.                 for($i=5;$i<=14;$i++)
    44.                     $fullSumm[$i] += $row[$i];
    45.                    
    46.                 print "<tr>
    47.                 <td>$pInfo[0]</td>
    48.                 <td>$pInfo[1]</td>
    49.                 <td>$dInfo[0]</td>
    50.                 <td>$sInfo[0]</td>
    51.                 <td>$gInfo[1]</td>
    52.                 <td>$gInfo[2]</td>
    53.                 <td>$gInfo[3]</td>
    54.                 <td>$row[5]</td>
    55.                 <td>$row[6]</td>
    56.                 <td>$row[7]</td>
    57.                 <td>$row[8]</td>
    58.                 <td>$row[9]</td>
    59.                 <td>$row[10]</td>
    60.                 <td>$row[11]</td>
    61.                 <td>$row[12]</td>
    62.                 <td>$row[13]</td>
    63.                 <td>$row[14]</td>
    64.                 <td>$totalHours</td>
    65.                 </tr>";
    66.                 fwrite($fp,iconv('UTF-8','windows-1251',$pInfo[0].";".$pInfo[1].";".$dInfo[0].";".$sInfo[0].";".$gInfo[1].";".$gInfo[2].";".$gInfo[3].";".$row[5].";".$row[6].";".$row[7].";".$row[8].";".$row[9].";".$row[10].";".$row[11].";".$row[12].";".$row[13].";".$row[14].";".$totalHours.";")."\n");
    67.             }
    68.             print "<tr><td colspan='7' align='left'>Общая сумма</td>
    69.             ";
    70.             fwrite($fp,"-;-;-;-;-;-;-;");
    71.             for($i=5;$i<=14;$i++)
    72.             {
    73.                 print "<td>$fullSumm[$i]</td>";
    74.                 fwrite($fp,$fullSumm[$i].';');
    75.             }
    76.            
    77.             print "
    78.             <td>-</td></tr>
    79.             </table>
    80.             <br><br>
    81.             <center><a href='".'csv_q3_'.$_POST['tId'].'.csv'."'>get CSV</a></center>";
    82.        
    83.         }
    84.         break;
     
  4. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    /Zanuda on
    Если сам не знаешь, как сделать, то точно не можешь определить время, необходимо для выполнения задачи
    /off
     
  5. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Выдержка из кода ТСа.
    Код (PHP):
    1. $totalHours = 0;
    2.             for($i=5;$i<=14;$i++)
    3.                $totalHours += $row[$i];
    4.             
    5.             for($i=5;$i<=14;$i++)
    6.                $fullSumm[$i] += $row[$i];
    7.  
    8.  print "<tr>
    9.             <td>$pInfo[0]</td>
    10.             <td>$pInfo[1]</td>
    11.             <td>$dInfo[0]</td>
    12.             <td>$sInfo[0]</td>
    13.             <td>$gInfo[1]</td>
    14.             <td>$gInfo[2]</td>
    15.             <td>$gInfo[3]</td>
    16.             <td>$row[5]</td>
    17.             <td>$row[6]</td>
    18.             <td>$row[7]</td>
    19.             <td>$row[8]</td>
    20.             <td>$row[9]</td>
    21.             <td>$row[10]</td>
    22.             <td>$row[11]</td>
    23.             <td>$row[12]</td>
    24.             <td>$row[13]</td>
    25.             <td>$row[14]</td>
    26.             <td>$totalHours</td>
    27.             </tr>";
    Индокитай?

    Добавлено спустя 8 минут 30 секунд:
    С вашего позволения:

    Код (PHP):
    1. $totalHours = 0;
    2. $tmp = '';
    3. for($i=5;$i<=14;$i++){
    4.    $totalHours += $row[$i];
    5.    $fullSumm[$i] += $row[$i];
    6.    $tmp.='<td>'.$pInfo[$i].'</td>';
    7. }
    8. print  '<tr>'.
    9.             $tmp
    10.             .'<td>'.$totalHours.'</td>
    11.         </tr>';
     
  6. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.866
    Симпатии:
    753
    Адрес:
    Татарстан
    Для того что вы хотите сделать - нужно Ajax применять