我从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,name,quiz1,quiz2…
用户可以添加quiz,这样我的mysql表中的列将添加一个名为quiz3的列,并且只要用户想添加quiz它就会继续。。。
上面的代码将生成一个html表,如下所示:
id name quiz1 quiz2 Edit
1 john (null) (null) (edit button)
我想要一张这样的桌子。。。
id name quiz1 quiz2
1 john (input) (input)
我的问题是…有没有什么方法可以让我把输入文本放在一行的一列、两列或多列中,这样我就可以去掉编辑项目按钮。。。我应该输入的列以"quiz"开头,如果用户愿意,他们可以添加quiz,因此将添加的quiz的名称将类似于quiz1、quiz2。。。
连接到数据库后可以。。。首先,你可以做一些事情,比如为你需要的列名声明变量,比如:
`$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(); `
我不知道这是否会有确切的帮助,但我必须创建一个多列表,当员工的姓氏被输入到搜索字段时,我必须从公司数据库中选择他们的许多属性,而你的属性显然不同。我试图推广我在搜索中使用的语法。