我正在研究大学软件,并且陷入了关键时刻。我正在运行一个查询,它将返回studentid,names和rollno(s),我需要根据教师输入的一个术语的分配数量,显示带有文本框的表格列。例如,如果用户输入为3,我想显示3列,即分配1,分配2,分配3以及学生姓名和rollno。然后,表格行将包含所有学生姓名和文本框,用于输入所有三个作业的标记。此外,我通过ajax请求显示此表,这意味着PHP将必须动态创建输出并显示给用户。我假设一个嵌套循环将不得不用于此但我不知道如何。必须根据用户输入创建列,并且行应基于mysql查询结果。
我的代码是:
$userinput = 3; // hypothetical
$q6 = mysql_query("select * from students");
while($row = mysql_fetch_array($q6)){
$data[] = $row;
}
echo "<table class='reglist' border='1' width='100%'>";
// start i loop
for($i=1;$i<=$userinput;$i++){
echo "<tr>
<th style='font-size:14px;'>S.No</th>
<th style='font-size:14px;'>Roll No</th>
<th style='font-size:14px;'>Name</th>
<th style='font-size:14px;width:50px;'>Assignment 1</th> // THESE COLUMNS SHUD BE BASED ON THE USER INPUT.
</tr>"; }
关于如何根据用户输入创建表头,然后根据mysql返回的学生数显示行,我被困在这里。
请帮忙。
答案 0 :(得分:0)
试试这段代码:
$q6 = mysql_query("select * from students");
echo "<table class='reglist' border='1' width='100%'>";
echo "<tr>
<th style='font-size:14px;'>S.No</th>
<th style='font-size:14px;'>Roll No</th>
<th style='font-size:14px;'>Name</th>
<th style='font-size:14px;width:50px;'>Assignment 1</th>
<th style='font-size:14px;'>Assigmnent 2</th>
</tr>";
while ($row = mysql_fetch_array($q6)) {
echo "<tr>
<th style='font-size:14px;'>{$row['stud_num']}</th>
<th style='font-size:14px;'>{$row['roll_num']}</th>
<th style='font-size:14px;'>{$row['name']}</th>
<th style='font-size:14px;width:50px;'>{$row['assign_one']}</th>
<th style='font-size:14px;'>{$row['assign_two']}</th>
</tr>";
}
答案 1 :(得分:0)
代码流应该是这样的:
<?php
$userinput = 3;
// Assuming your columnnames for your students table were s_no, roll_no, name, assignment1, assignment2
$query= mysql_query("select * from students");
?>
<table>
<tr>
<th style='font-size:14px;'>S.No</th>
<th style='font-size:14px;'>Roll No</th>
<th style='font-size:14px;'>Name</th>
<?php
for($i=0; $i<$userinput; $i++)
{
?>
<th style='font-size:14px;width:50px;'>Assignment <?php echo $i+1;?> </th> <!--this will display Assignment 1, Assignment 2 -->
<?
}//end for
?>
</tr>
<tr id="wrapper"> <!--assign an id here so you can use this on your ajax request -->
<?php
while($row = mysql_fetch_array($query)){
?>
<td><?php echo $row['s_no'];?></td>
<td><?php echo $row['roll_no'];?></td>
<td><?php echo $row['name'];?></td>
<?php
for($i=0; $i<$userinput; $i++)
{
?>
<td> I dont know what are you trying to display here.</td>
<?php
}//end for
?>
<?php
}//end while
?>
</tr>
</table>
假设您在数据库中有3名学生。上面的代码将显示以下内容: