За последние 24 часа нас посетили 22117 программистов и 1682 робота. Сейчас ищут 1640 программистов ...

Вывод из базы в таблицу

Тема в разделе "PHP для новичков", создана пользователем Анастасия333, 4 июн 2014.

  1. Анастасия333

    Анастасия333 Новичок

    С нами с:
    1 май 2014
    Сообщения:
    36
    Симпатии:
    0
    Здравствуйте, как можно сделать вывод данных из одной таблицы (оценки)
    чтобы они выводились в таблицу php именно данному пользователю? И замолнялись в пустом месте(на картинке)?
    Список студентов выведен из другой таблицы.

    http://s58.radikal.ru/i162/1406/25/a80c71fc3553.jpg
     
  2. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
  3. Fell-x27

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

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Эм... взять из БД данные и сгенерить, в цикле, html-ную табличку.
    В чем конкретно загвоздка?
     
  4. Анастасия333

    Анастасия333 Новичок

    С нами с:
    1 май 2014
    Сообщения:
    36
    Симпатии:
    0
    Так как он поймет,что именно тому пользователю в строку вывести?у меня в линию к одному студенту выводит и всё,он же вроде по циклу и заносит.
    сейчас так только( http://s019.radikal.ru/i609/1406/88/3b53909eb7bb.jpg
    Код (PHP):
    1. <?php
    2. /* Соединяемся с базой данных */
    3. $hostname = "localhost"; // название/путь сервера, с MySQL
    4. $username = "root"; // имя пользователя (в Denwer`е по умолчанию "root")
    5. $password = ""; // пароль пользователя (в Denwer`е по умолчанию пароль отсутствует, этот параметр можно оставить пустым)
    6. $dbName = "jornal"; // название базы данных
    7.  
    8. /* Таблица MySQL, в которой хранятся данные */
    9. $table = "checkpoints";
    10. $tablest = "students";
    11. $tabl = "studentresults";
    12. /* Создаем соединение */
    13. mysql_connect($hostname, $username, $password) or die ("Не могу создать соединение");
    14.  
    15. /* Выбираем базу данных. Если произойдет ошибка - вывести ее */
    16. mysql_select_db($dbName) or die (mysql_error());
    17.  
    18.  
    19. /* Составляем запрос для извлечения данных из полей "name", "email", "theme",
    20. "message", "data" таблицы "test_table" */
    21. $queryNameCheckpoint  = "SELECT fkJournal, nameCheckpoint FROM $table WHERE $table.fkJournal = ".$_POST['idJournal']."";
    22. $queryRatioCheckpoint = "SELECT fkJournal, ratioCheckpoint FROM $table WHERE $table.fkJournal = ".$_POST['idJournal'].""; 
    23. $queryStudentresults = "SELECT keyStudent,     fkJournal, ratingStudentResult FROM $tabl "; 
    24. //WHERE $tabl.ratingStudentResult=".$_POST[$name].""; 
    25.  
    26. //$query = "SELECT `students`.keyStudents AS keyStudent, `students`.secontNameStudent, 
    27. //`studentresults`.keyStudent  AS keyStudents,
    28. //`studentresults`.ratingStudentResult FROM `students` , `studentresults` WHERE `studentresults`.keyStudent = `students`.keyStudents";
    29. //$result = mysql_query($query);
    30.  
    31. $queryNameStudents = "SELECT keyStudents, secontNameStudent, firstNameStudent, lastNameStudent
    32.  FROM $tablest WHERE $tablest.fkGroup = ".$_POST['idJournal']."";
    33.  
    34. /* Выполняем запрос. Если произойдет ошибка - вывести ее. */
    35. $nameCheckpoint = mysql_query($queryNameCheckpoint) or die(mysql_error());
    36. $COLSPAN = mysql_num_rows( $nameCheckpoint );
    37. //$COLSPAN2 = mysql_num_rows( $ratioCheckpoint );
    38.  
    39. $ratioCheckpoint = mysql_query($queryRatioCheckpoint) or die(mysql_error());;
    40.  
    41. $secontNameStudent = mysql_query($queryNameStudents) or die(mysql_error());;
    42. $studentresults = mysql_query($queryStudentresults) or die(mysql_error());
    43.  
    44.  
    45. /* Выводим данные из таблицы */
    46. echo ("
    47. <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
    48. <html xmlns=\"http://www.w3.org/1999/xhtml\">
    49.  
    50. <head>
    51.  
    52.     <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />
    53.  
    54.     <title>Вывод данных из MySQL</title>
    55.  
    56. <style type=\"text/css\">
    57. <!--
    58. body { font: 17px Times New Roman; color: #000000; background: url(\"images/bg1.jpg\") ; }
    59. h3 { font-size: 16px; text-align: center; }
    60. table { width: 800px; border-collapse: collapse; margin: 0px auto; background: #F5F5DC; }
    61. td { padding: 10px; text-align: center; vertical-align: middle; }
    62. .buttons { width: auto; border: double 5px #666666; background: #D6D6D6; }
    63. -->
    64. </style>
    65.  
    66. </head>
    67.  
    68. <body>
    69.  
    70. <h3> Журнал рейтинга студентов </h3>
    71.  
    72. <table border=\"1\" cellpadding=\"0\" cellspacing=\"0\">
    73.  <tr style=\"border: solid 1px #000\">
    74.  <TD align=\"center\" ROWSPAN=3 COLSPAN=2 >Название группы</TD>
    75. <TD COLSPAN=\"$COLSPAN\" align=\"center\"> Локальные оценки</TD>
    76. <TD ROWSPAN=3 COLSPAN=3 align=\"center\" >Итоговый </br> рейтинг</TD>
    77. <TD ROWSPAN=4 COLSPAN= align=\"center\" >Добавление</br> оценок</TD>
    78. </TR>
    79. <TR>
    80. <TD COLSPAN=\"$COLSPAN\" align=\"center\" >Контрольные точки</TD>
    81.  
    82. </TR>
    83. <TR>
    84. ");
    85.   //while ($row = mysql_fetch_array($studentresults)) {
    86.     //echo "<td>".$row['ratingStudentResult']."</td>\n"; }
    87.   
    88.   
    89.   
    90. while ($row = mysql_fetch_array($nameCheckpoint)) {
    91.      
    92.     echo "<td >".$row['nameCheckpoint']."</td>\n";
    93.     
    94. }
    95.  
    96. echo ("
    97. </TR>
    98. <TR>
    99. <TD width=\"32\" height=\"65\" align=\"center\">№</TD>
    100. <TD width=\"125\" align=\"center\">Студент</TD>
    101. ");
    102.  
    103. while ($row = mysql_fetch_array($ratioCheckpoint)) {
    104.     echo "<td >".$row['ratioCheckpoint']."</td>\n";
    105.     //echo "<td>".$row['ratingStudentResult']."</td>\n";
    106. }
    107.  
    108. //while($row = mysql_fetch_array($result))
    109. //{
    110.   //  echo "<td>".$row["keyStudents"]." - ".$row["ratingStudentResult"]." ".$row["secontNameStudent"]."</td>\n";}
    111.  
    112. echo ("
    113. <TD width=\"74\" align=\"center\">1 <br> аттестация</TD>
    114. <TD width=\"74\" align=\"center\">2 <br> аттестация</TD>
    115. <TD width=\"74\" align=\"center\"> Семестровый Рейтинг</TD>
    116.  
    117. </TR>
    118.  
    119. ");
    120.  while ($row = mysql_fetch_array($secontNameStudent)) {
    121.    // echo "<td>";
    122.     echo "<tr>\n";
    123.        echo "<td><a  href=\"dob.php?id=".$row["keyStudents"]."&idJ=".$_POST['idJournal']."  \">Добавить отметку</a></td>\n";
    124.     //echo "<td>".$row['keyStudents']."</td>\n";
    125.     echo "<th>".$row['secontNameStudent']." ".$row['firstNameStudent']." </th>\n";
    126.     
    127.     while ($row = mysql_fetch_array($studentresults)) {
    128.     echo "<td >".$row['ratingStudentResult']."</td>\n"; }
    129.     
    130. }
    131.  
    132.  
    133.  
    134.  
    135.  
    136. echo ("</table>\n");
    137.  
    138. /* Закрываем соединение */
    139.  
    140. /* Выводим ссылку возврата */
    141. echo ("<div style=\"text-align: center; margin-top: 10px;\"><a href=\"zapolnenie.php?id=".$_POST['idJournal']."\">Вернуться назад</a></div>
    142.  
    143. <div style=\"text-align: center; margin-top: 10px;\"><a href=\"students.php?id=".$_POST['idJournal']."\">Добавить список студентов</a></div>
    144. ");
    145.  
    146. ?>
     
  5. Fell-x27

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

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Разбираться пока времени нет. Но скажу, что код уязвим для SQL-инъекций.
     
  6. Анастасия333

    Анастасия333 Новичок

    С нами с:
    1 май 2014
    Сообщения:
    36
    Симпатии:
    0
    Про инъекции знаю.Пока руки не дошли.это я потом)
     
  7. Анастасия333

    Анастасия333 Новичок

    С нами с:
    1 май 2014
    Сообщения:
    36
    Симпатии:
    0
    А,всё,разобралась)))
     
  8. Анастасия333

    Анастасия333 Новичок

    С нами с:
    1 май 2014
    Сообщения:
    36
    Симпатии:
    0
    А ещё вопрос, как можно в конец добавить (под итоговым рейтингом) чтобы столбец пустой выводился?
     
  9. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    А если бы таблиц было 10, как бы ты назвала переменные? Почему бы не дать осмысленные имена, это же так удобно.

    Код (Text):
    1.  
    2. $queryNameCheckpoint  = "SELECT fkJournal, nameCheckpoint FROM $table WHERE $table.fkJournal = ".$_POST['idJournal']."";
    3. $queryRatioCheckpoint = "SELECT fkJournal, ratioCheckpoint FROM $table WHERE $table.fkJournal = ".$_POST['idJournal']."";
    Их можно объединить.

    Ну допиши пустой еще. В чем сложность?
     
  10. Анастасия333

    Анастасия333 Новичок

    С нами с:
    1 май 2014
    Сообщения:
    36
    Симпатии:
    0
    smitt , а я пишу,он мне добавляет в начало,где первый столбец,а остальное смещает.((