Работы на 10 минут, не могу сам сообразить как сделать. Есть 2 выпадающих списка в которых выбираются значения, по результатам выбора значений выводится таблица. Один селекторный список содержит в себе номера групп, - выбираем группу, получаем информацию только по этой группе, но скрипт же выводит только значения для id=1, остальные игнорирует.
Схема данных: yadi.sk/d/tL2NTeX5S2YeQ Запрос на выборку информации из таблицы формируется следующим образом, в первом выпадающем списке указываем название кафедры, во втором выпадающем списке номер специальности, по этим данным выбираются все дисциплины, которые ведет выбранная кафедра у выбранного номера специальности, выглядит это примерно так: yadi.sk/d/YrfWtJZSS2Yeg при выборе номера специальности выгружается только дисциплины для id_special = 1, другие не выводятся. Каждому id_group соответствует свой id_special и соответственно numb_group. Запрос же выводит только те группы и дисциплины, значения которых соответствуют id_special=1 Код (Text): print "<form action='' method='post'> <select name='tId'>"; $sql = mysql_query("SELECT id_kafedra,name_kafedra FROM kafedra"); while($row = mysql_fetch_row($sql)) { print "<option value='$row[0]'>$row[1]</option>"; } print "</select> <select name='pId'>"; $sql = mysql_query("SELECT id_special,numb_special FROM special"); while($row = mysql_fetch_row($sql)) { print "<option value='$row[0]'>$row[1]</option>"; } print "<input name='sb' type='submit' value='Show table'> </form>"; if(isset($_POST['sb'])) { print "<table border='1' style='border: 1px solid blue;'>"; print "<tr><td>ФИО</td><td>Ставка</td><td>Дисциплина</td><td>Номер спец.</td><td>Курс</td><td>Номер группы</td>"; print "<td>Кол. чел.</td><td>Кол. лекц.</td><td> Кол. прак.</td><td> Кол. лаб.</td><td> Кол.КСР</td>"; print "<td>Экз</td><td> Зач </td><td>Зач с оцен.</td><td> Курс. раб </td><td>Курс. проект </td><td>Контр. раб</td>"; print "<td>Сумма часов</td></tr>"; $fp = fopen('csv_q3_'.$_POST['tId'].'.csv','w'); fwrite($fp,iconv('UTF-8','windows-1251',"ФИО;Ставка;Дисциплина;Номер спец.;Курс;Номер группы;Кол. чел.;Кол.лекц.;Кол. прак.;Кол. лаб.;Кол. КСР;Экз;Зач;Зач с оцен.;Курс. раб;Курс. проект;Контр. раб;Сумма часов;")."\n"); #." AND id_special = ".mysql_escape_string($_POST['pId']) $query = mysql_query("SELECT * FROM nagruzki WHERE id_kafedra = ".mysql_escape_string($_POST['tId'])); $fullSumm = array(); while($row = mysql_fetch_row($query)) { $pInfo = mysql_fetch_row(mysql_query("SELECT fio,stavka FROM prepod WHERE id_prepod = $row[4]")); $dInfo = mysql_fetch_row(mysql_query("SELECT name_discip FROM discip WHERE id_discip = $row[1]")); $gInfo = mysql_fetch_row(mysql_query("SELECT * FROM `group` WHERE id_group = '1' OR id_group = '2' OR id_group = '3'")); $sInfo = mysql_fetch_row(mysql_query("SELECT name_special FROM special WHERE id_special = $gInfo[1]")); $totalHours = 0; for($i=5;$i<=14;$i++) $totalHours += $row[$i]; for($i=5;$i<=14;$i++) $fullSumm[$i] += $row[$i]; print "<tr> <td>$pInfo[0]</td> <td>$pInfo[1]</td> <td>$dInfo[0]</td> <td>$sInfo[0]</td> <td>$gInfo[1]</td> <td>$gInfo[2]</td> <td>$gInfo[3]</td> <td>$row[5]</td> <td>$row[6]</td> <td>$row[7]</td> <td>$row[8]</td> <td>$row[9]</td> <td>$row[10]</td> <td>$row[11]</td> <td>$row[12]</td> <td>$row[13]</td> <td>$row[14]</td> <td>$totalHours</td> </tr>"; 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"); } print "<tr><td colspan='7' align='left'>Общая сумма</td> "; fwrite($fp,"-;-;-;-;-;-;-;"); for($i=5;$i<=14;$i++) { print "<td>$fullSumm[$i]</td>"; fwrite($fp,$fullSumm[$i].';'); } print " <td>-</td></tr> </table> <br><br> <center><a href='".'csv_q3_'.$_POST['tId'].'.csv'."'>get CSV</a></center>"; } break;
/Zanuda on Если сам не знаешь, как сделать, то точно не можешь определить время, необходимо для выполнения задачи /off
Выдержка из кода ТСа. Код (PHP): $totalHours = 0; for($i=5;$i<=14;$i++) $totalHours += $row[$i]; for($i=5;$i<=14;$i++) $fullSumm[$i] += $row[$i]; print "<tr> <td>$pInfo[0]</td> <td>$pInfo[1]</td> <td>$dInfo[0]</td> <td>$sInfo[0]</td> <td>$gInfo[1]</td> <td>$gInfo[2]</td> <td>$gInfo[3]</td> <td>$row[5]</td> <td>$row[6]</td> <td>$row[7]</td> <td>$row[8]</td> <td>$row[9]</td> <td>$row[10]</td> <td>$row[11]</td> <td>$row[12]</td> <td>$row[13]</td> <td>$row[14]</td> <td>$totalHours</td> </tr>"; Индокитай? Добавлено спустя 8 минут 30 секунд: С вашего позволения: Код (PHP): $totalHours = 0; $tmp = ''; for($i=5;$i<=14;$i++){ $totalHours += $row[$i]; $fullSumm[$i] += $row[$i]; $tmp.='<td>'.$pInfo[$i].'</td>'; } print '<tr>'. $tmp .'<td>'.$totalHours.'</td> </tr>';