基于用户输入数据使用php创建动态表

基于用户输入数据使用php创建动态表,php,Php,目前,我正在尝试使用PHP创建一个每日类例程。首先,该网站将有七天的名称作为复选框和一个文本框,用户可以在其中输入课程周期数 当用户提交表单时,代码将在另一个表中创建另一个表单(看起来像)。最后,用户可以输入班级名称、教师名称,代码将其存储在数据库中 但我的问题是动态创建表。我不知道如何解决这个问题。 任何帮助都将不胜感激 下面您可以看到我迄今为止所做的尝试: <h1>Form two</h1> <form action="routine_create_proce

目前,我正在尝试使用PHP创建一个每日类例程。首先,该网站将有七天的名称作为复选框和一个文本框,用户可以在其中输入课程周期数

当用户提交表单时,代码将在另一个表中创建另一个表单(看起来像)。最后,用户可以输入班级名称、教师名称,代码将其存储在数据库中

但我的问题是动态创建表。我不知道如何解决这个问题。

任何帮助都将不胜感激

下面您可以看到我迄今为止所做的尝试:

<h1>Form two</h1>

<form action="routine_create_process.php" method="POST">
<h3>How many class period do you want to add?</h3>

<input type="text" name="period"/>

<h3>Avalible class day</h3>

<label><input type="checkbox" name="f[]" value="sat" /> Saturday </label>
<br />
<label><input type="checkbox" name="f[]" value="sun"  /> Sunday </label>
<br />
<label><input type="checkbox" name="f[]"  value="mon" /> Monday </label>
<br />
<label><input type="checkbox" name="f[]"  value="tues" /> Tuesday </label>
<br />
<label><input type="checkbox" name="f[]"  value="thurs" /> Wednesday </label>
<br />
<label><input type="checkbox" name="f[]"  value="thus" /> Thursday </label>
<br />
<label><input type="checkbox" name="f[]"  value="fri" /> Friday </label>
<br />
<input type="submit" value="SUBMIT"/>
</form>
表格二
你想增加多少课时?
有效上课日
星期六

星期天
星期一
星期二
星期三
星期四
星期五
我的PHP代码:

<?php
$period=$_POST['period'];
$arr2=$_POST['f'];
?>

<table border='2'>
<?php 
$count=count($arr2)-1;
for($i=0;$i<=$count;$i++){
  echo "<tr><td>";
  if($i==0){
    echo "<table>";
    echo "<div class='wrap_p'>";
    for($r=1;$r<=$period;$r++){
      echo "<td>";
      echo "<div class='add_css'>";
      echo $r;
      echo "</div></td>";
    }
    echo "</div>";
    echo "</table>";
  }
  echo "</tr><tr><td>"; 
  echo $arr2[$i];
  echo "</td>";
  echo "<td> <input type='text' size='20' /></tr></td>";
}
?>
</table>


这应该能解决你的问题

<?php

$arr2=$_POST['f'];
$period = $_POST['period'];

?>

<table border='2'>
<?php 
$count=count($arr2)-1;
?>
<tr><td>&nbsp;</td>
<?php
                for($r=1;$r<=$period;$r++){
                    echo "<td>";
                    echo "<div class='add_css'>";
                    echo $r ;
                    echo "</div></td>";

                }
    for($i=0;$i<=$count;$i++){

echo "<tr><td>"; 

echo $arr2[$i];

        for($r=1;$r<=$period;$r++)
        {
            echo "<td>";
            echo "<div class='add_css'>";
            echo "<input type='text' size='20' />" ;
            echo "</div></td>";
        }

echo "</td>";


}

?>
</table>


我想这已经接近你需要的了

<html>
<body>
<?php
$period = 8;
$arr2=array('sat','sun','mon','tue','wed','thu','fri');
?>
<table border='2'>
<tr>
<th>Days</th>
<?php 
for($i=1;$i <= $period; $i++){
    ?><th><?php echo $i; ?></th><?php
}
?>
</tr>
<?php 
foreach($arr2 as $day){
    ?>
    <tr>
        <th><?php echo $day; ?></th>
        <?php
        for($i=1;$i <= $period; $i++){
            ?>
            <td>
                <input type="text" placeholder="subject">
                <input type="text" placeholder="subject code">
                <input type="text" placeholder="teachers name">
            </td>
            <?php
        } 
        ?>
        </tr>
    <?php
}
?>
</table>
</body>
</html>

未定义变量
$period
。你能更新你的代码吗?对不起,我已经更新了代码。它可以工作,但我还需要在表格顶部显示课时编号。整个数字是多少?只需打印$period,它会显示period的编号。我不知道应该在哪里打印打印period编号的变量。我试过这个。回声“;回声“;echo$r;回声“;回声“;它会像这样返回,但我不想那样,没问题。你的想法对吗?记住用POST输入替换
$arr2