输入文本(html表头的mysql表列)

时间:2015-02-22 21:40:37

标签: php mysql html-table

我从Stack Overflow中的一个问题获得此代码...

<table>
  <thead>
    <tr>
      <?php
      $row = mysql_fetch_assoc($result);
            foreach ($row as $col => $value) {
                echo "<th>";
                echo $col;
                echo "</th>";
            }
      ?>
      <th>Edit</th>
    </tr>
  </thead>
  <tbody>
    <?php
  // Write rows
  mysql_data_seek($result, 0);
    while ($row = mysql_fetch_assoc($result)) {
        ?>
    <tr>
      <?php         
    foreach($row as $key => $value){
        echo "<td>";
        echo $value;
        echo "</td>";
    }
    ?>
      <td><button id="edit_project_button(<?php echo $row['ID']; ?>)" class="edit-project-button edit button" onclick="editproject(<?php echo $row['ID']; ?>)">Edit</button></td>
    </tr>
    <?php } ?>
  </tbody>
</table>

我有一个名为quiz1912的mysql表,其中的列是

ID,名称quiz1,quiz2 ...

用户可以添加测验,以便我的mysql表中的列将添加一个名为quiz3的列,只要用户想要添加测验,它就会继续...

上面的代码将生成一个这样的html表:

id    name    quiz1    quiz2   Edit

1     john    (null)   (null)  (edit button)

我想要一张这样的桌子......

id    name    quiz1    quiz2 

1     john    (input)  (input)

....我的问题是..有没有办法,所以我可以将输入文本放在一行,两列或更多列中,这样我就可以摆脱编辑项目按钮...我的列应该输入一个以'测验'开头的输入,用户可以添加测验,如果他们想要,那么将要添加的测验将有一个名称,如quiz1,quiz2,......

1 个答案:

答案 0 :(得分:0)

连接到数据库之后没问题...首先你可以做一些事情,比如声明你需要的列名变量:

`$quiz = "quiz";  //these are the column names in your mySQL table that you will pass the value to $quiz 

$quiz1 = "quiz1";`

然后你可以使用if子句声明一个语句,该子句将查询你的mySQL数据库并选择你想要插入到表的各个列中的所有数据:

`if ($stmt = $con->prepare("SELECT quiz FROM tablename WHERE condition")){

$stmt->execute(); 
$result = $stmt->get_result();`

以下是为多个值声明表的方法:

`echo  "<table border='1'> //format border for table
  <tr bgcolor='#ff00ff'> //color purple 
  <th> quiz</th> //these are the two columns that will show up in your table 
  <th> quiz1 </th>
 </tr> ";   //this signals end of columns for table


//now fetch result from your queried database

while($row = $result->fetch_assoc()

echo "<tr>";
echo "<td>" . $row['quiz']  . "</td>"; these statements will add values to table
echo "<td>" . $row['quiz1'] . "</td>";
echo "</tr>";

$stmt->close(); 
}
echo"</table>";
}
$con->close(); `

我不知道这是否有用,但我必须创建一个多列表,当我们的姓氏输入搜索字段时,我必须从公司数据库中选择员工的许多属性,你的不同显然我试图概括我用于我的语法。