Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: HTML таблица и база даанных
Форумы портала PHP.SU » PHP » Программирование на PHP » HTML таблица и база даанных

Страниц (1): [1]
 

1. danslash - 21 Августа, 2010 - 21:27:38 - перейти к сообщению
Друзья помогите плиз. На странице должна быть HTML таблица, при заполнении всех (и не только!!!!) ячеек и нажитию кнопки SUBMIT данные должны внестись в базу MySQL, с последующим просмотром
2. Мелкий - 21 Августа, 2010 - 21:43:06 - перейти к сообщению
3. danslash - 21 Августа, 2010 - 22:09:37 - перейти к сообщению
Есть таблица marks с такой структурой:
mark_id
subject_id
student_id
mark

Есть таблица students с такой структурой:
student_id
group_id
fullname

и есть таблица [b]groups/b] с такой структурой:
group_id
group_name

Нужно вывести список студентов по группам и рядом с каждым студентом продолжение таблицы для просмотра (если есть значение в таблице marks) или внесение в базу (если значения нет) оценок за неделю. После проставление получается оценок, есть кнопочка "Сохранить данные" после нажатия на которую в таблицу marks заносятся данные.

Вот что есть.
PHP:
скопировать код в буфер обмена
  1. echo "<table border=1>";    
  2.     $query = "SELECT DISTINCT(group_name), subject_name, subject_type
  3.            FROM groups as s, subjects as sb WHERE s.group_id=sb.group_id AND sb.teacher_id={$_SESSION['teacher_id']};";
  4.         $sql = mysql_query($query) or die(mysql_error());
  5.         while ($line = mysql_fetch_array($sql, MYSQL_ASSOC)) {
  6.                     $groups[]=$line[group_name];
  7.                     echo "<tr><td>".
  8.                     $line[group_name].
  9.                     "</td><td>".
  10.                     $line[subject_name].
  11.                     "</td><td>".
  12.                     $line[subject_type]."</td><td>";  
  13.                                     echo "<table border=0>";    
  14.                                     $query1 = "SELECT student_id,fullname,group_name
  15.                                            FROM students as s, groups as g WHERE g.group_name='$line[group_name]' AND g.group_id=s.group_id;";
  16.                                         $sql1 = mysql_query($query1) or die(mysql_error());
  17.                                         while ($line1 = mysql_fetch_array($sql1, MYSQL_ASSOC)) {
  18.                                                     echo "<tr><td>".
  19.                                                     $line1[student_id].
  20.                                                     "</td><td>".
  21.                                                     $line1[fullname].
  22.                                                     "</td><td>".
  23.                                                     $line1[group_name]."</td></tr>";                
  24.                                                 }
  25.                                     echo "</td></tr>";
  26.                                     echo "</table>";            
  27.                 }
  28.     echo "</table>";


Это работает. Т.е. список я вывел учеников по группам. Но вот дальше не имею представления как сделать.
(Добавление)
CODE (html):
скопировать код в буфер обмена
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Документ без названия</title>
  6. </head>
  7.  
  8. <body>
  9. <table width="300px" border="1">
  10.   <tr>
  11.     <td>ID;</td>
  12.     <td>Name</td>
  13.     <td>Mon</td>
  14.     <td>Tue</td>
  15.     <td>Wed</td>
  16.     <td>Thu</td>
  17.     <td>Fri</td>
  18.   </tr>
  19.   <tr>
  20.     <td>1000</td>
  21.     <td>danslash</td>
  22.     <td>5</td>
  23.     <td>
  24.         <input type="text" name="textfield" id="textfield" />
  25. </td>
  26.     <td>4</td>
  27.     <td>4</td>
  28.     <td><input type="text" name="textfield" id="textfield" /></td>
  29.   </tr>
  30.   <tr>
  31.     <td>1001</td>
  32.     <td>sergey</td>
  33.     <td>4</td>
  34.     <td>5</td>
  35.     <td>4</td>
  36.     <td><input type="text" name="textfield" id="textfield" /></td>
  37.     <td>4</td>
  38.   </tr>
  39.   <tr>
  40.     <td>1002</td>
  41.     <td>elena</td>
  42.     <td>2</td>
  43.     <td>2</td>
  44.     <td>4</td>
  45.     <td>3</td>
  46.     <td>1</td>
  47.   </tr>
  48. </table>
  49. <input name="" type="button" value="&#1057;&#1086;&#1093;&#1088;&#1072;&#1085;&#1080;&#1090;&#1100; &#1076;&#1072;&#1085;&#1085;&#1099;&#1077;" />
  50. </body>
  51. </html>
  52.  


примерно как должно выглядеть
4. JustUserR - 21 Августа, 2010 - 22:36:45 - перейти к сообщению
danslash пишет:
Т.е. список я вывел учеников по группам. Но вот дальше не имею представления как сделать
При создании SQL-запросом имеется возможность использовать множественные соеднения таблиц причем как внутренние так и внешние - по этой причине вы можете просто использовать дополнительный JOIN для связи уже выводимой информации с другими таблицами
5. danslash - 21 Августа, 2010 - 22:42:40 - перейти к сообщению
Спасибо за ответ. Будем смотреть Я новичек в этом деле. А сделать надо. Поэтому выкручиваюсь как могу. Закатив глазки
6. JustUserR - 22 Августа, 2010 - 02:06:53 - перейти к сообщению
danslash пишет:
Спасибо за ответ. Будем смотреть Я новичек в этом деле. А сделать надо. Поэтому выкручиваюсь как могу
Пожалуйста! Существует достаточно много способов для полученые информации из различных таблиц по связывающему их критерую такому как идентификатор ключевого поля - при этом можно использовать как синтаксис внутренее/внешнее соединение так и вложенные запросы

 

Powered by ExBB FM 1.0 RC1