0

我正在开发一个大学软件,并且被困在一个关键点。我正在运行一个查询,该查询将返回 studentid、names 和 rollno(s),并且我需要根据教师输入的学期作业数量来显示带有文本框的表格列,以便输入作业标记。例如,如果用户输入是 3,我想显示 3 列,即作业 1、作业 2、作业 3 以及学生姓名和卷号。然后,表格行将包含所有学生的姓名以及用于输入所有三个作业的分数的文本框。此外,我通过 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返回的学生数量显示行,我被困在这里。

请帮忙。

4

2 回答 2

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 个学生。上面的代码将显示以下内容:这是基于上面代码的示例输出

于 2012-11-06T06:10:40.080 回答
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>";

}
于 2012-11-06T06:07:21.530 回答