Создание нескольких таблиц с несколькими ссылками в каждой таблице (веб-страница)

#javascript #php #html #mysql

#javascript #php #HTML #mysql

Вопрос:

У меня есть веб-страница, на которой необходимо отображать несколько таблиц в одном формате, но с разными номерами внутри генерировать соответствующие ссылки во многих ячейках таблицы.

Дизайн: на веб-странице будет отображаться по 1 таблице для каждого школьного предмета, а затем ячейки внутри покажут, как разные классные классы справлялись под руководством своих учителей, используя оценки SAT, итоговые экзамены и показатели посещаемости. Имена учителей и названия предметов должны ссылаться на другую страницу, на которой отображается больше информации об этом конкретном учителе / предмете.

Раньше я использовал php для создания таблиц, но, видя, что внутри этих таблиц также должны быть ссылки, причем очень «настраиваемые», я не уверен, с чего начать. Каждая ссылка полностью уникальна, никаких полных дубликатов. И, скажем, с 6 предметами и 5 преподавателями, будет 36 уникальных ссылок, которые должны быть сгенерированы.

В настоящее время у меня есть таблица sql с: subject, homeroom_teacher, subject_SAT_rslt_change, sat_retake_count, Final_vs_mid, improved_students_count, attendance_rate, missing_student_count

Ниже я привел пример html типа таблицы, которую я хочу создать для данной темы.

 <!--subjects: math, science, literature, art, history, physical education-->
    <table>
  <tr>
<th colspan="7"<a href="allsubjects.php?subject=math" style="color: #ffffff; text-align: center;">Math</b></th>  </tr>
  <tr id="tr01">
  <td><b>  Homeroom Teacher </b> </td>
    <td><b>  Subject SAT result change </b> </td>
    <td><b>  Retake count</b>  </td>
    <td><b>  Finals vs midterm difference  </b></td>
    <td><b>  Improved students count  </b></td>
    <td><b>  Attendance rates  </b></td>
    <td><b>  Students missing class  </b></td>
  </tr>
 <tr>
    <td><a href="xyz.php?subject=math">Mrs. Xyz </td>
    <td>-1% </td>
    <td>3 </td>
    <td> 22% </td>
    <td>2 </td>
    <td>-2% </td>
    <td>5 </td>
  </tr>
 <tr>
    <td><a href="abc.php?subject=math">Mr. Abc </td>
    <td>-22% </td>
    <td>2 </td>
    <td> 1% </td>
    <td>3 </td>
    <td>-6% </td>
    <td>1 </td>
  </tr>
  <tr>
    <td><a href="msa.php?subject=math">Ms. A </td>
    <td>-2% </td>
    <td>1 </td>
    <td> 10% </td>
    <td>32 </td>
    <td>-2% </td>
    <td>0 </td>
  </tr>
</table>

  

php

 <?php
  $mysqli = new mysqli("localhost","username","password","database");
  if($mysqli->connect_errno)
    die("Connection failed".$mysqli->connect_error);
  $query = "SELECT * FROM `table1` where subject='math';";
$query .=  "SELECT * FROM `table1` where subject='literature';";
  $query .=  "SELECT * FROM `table1` where subject='science';";

  if($mysqli->multi_query($query))
  {
    $i=0;
    do{
      $result = $mysqli->store_result();
    
      
      $finfo = $result->fetch_fields();
      $title = '';

      $table = '';
      $i=0;
      foreach($finfo as $f)
      {
        if($i!=0)
          $table = $table. "<th>".$f->name."</th>";
        $i  ;
      }
      $table = $table. "</tr>";
      
      while($row = $result->fetch_assoc())
      {
        $table = $table. "<tr>";
        $j=0;
        foreach($row as $v)
        {
          if($j==0) {
            $title=$v;
          
          } else {
          $table = $table. "<td>".$v."</td>";
          }
          $j  ;
        }
        $table = $table. "</tr>";
      }

      echo "<table>";
      echo "<tr><th><b>".$title."</b></th></tr>";
      echo $table;
      echo "</table>";
    }while($mysqli->more_results() amp;amp; $mysqli->next_result());
  }
  
?>
  

SQL:

 insert into table1('math','mrs.xyz','-1%',3,' 22%',2,'-2%',5);
  

Я пометил javascript и php, поскольку мне нужно их использовать, но если вы знаете решения на других языках, вы также можете опубликовать их.

Комментарии:

1. Найдите «альтернативный синтаксис PHP» и просто выведите значения базы данных в свой HTML.

2. Если вы можете использовать PHP для создания таблиц, я не понимаю, почему вы не можете использовать его для создания ссылок. В частности, с чем вы боретесь?

3. @GregSchmidt потому что обычно это было бы что-то вроде echo «<a href='».$link_address.»‘>Ссылка</a>»; но здесь есть много таблиц и ячеек таблицы, для каждой из которых нужна своя ссылка (т.е.. abc.php?subject=math.xyz.php?subject= математика и т. Д.). Поэтому его сбивает с толку, с чего начать или как это сделать, когда обычно я бы использовал цикл для создания нескольких таблиц, которые просто отображают данные только из базы данных (но без ссылок).

4. Как определяются эти ссылки? Это не из данных в базе данных?

Ответ №1:

используйте » двойные кавычки и одинарные кавычки правильно, вот и все,

 $finfo = $result->fetch_fields(); *///example variable*

echo "<a hrea='".$finfo.".php'>Link text </a> ";

another way :
<a href = "<?PHP echo $finfo;?>">Link text </a>