PHP - 如何选择mysqli_fetch_array()给出的行的特定索引?

时间:2013-10-23 14:28:37

标签: php

请参考下图:

http://i.stack.imgur.com/6hBPC.png

例如,如果用户单击行上显示“您有数学测验”的按钮,则该行的“测验ID”值将传递给另一个PHP文件。

这是我目前的代码:

    <?php
    $con=mysqli_connect("127.0.0.1", "root", "", "quizmaker");
    if (mysqli_connect_errno($con))
    {
        echo "MySqli Error: " . mysqli_connect_error(); 
        }

    $now=date("m/d/Y"); 
    $sql=mysqli_query($con,"SELECT * FROM quiz_query WHERE quiz_date='$now'");
    $count=mysqli_num_rows($sql);

    if($count>=1)
    {
    echo "<table border='1' width='50%'>";
    echo "<form action='answer_quiz.php' method='post'>";
    echo "<tr>
    <td>You have a pending quiz!</td><td>&nbsp;</td><td>&nbsp;</td>
    </tr>";
    $number=1;

    while($result=mysqli_fetch_array($sql))
    {
        echo "<tr>";
        echo "<td>You have a quiz for " . $result['subject'] . "</td>";
        echo "<td>Quiz ID: " .$result['quiz_ID']. "</td>";
        echo "<td><input type='submit' name='button' id='button' value='Take Quiz'>";
        echo "<input type='hidden' name='quiz[$number]' value='$result[quiz_ID]'>";
        echo "</td>";
        echo "</tr>";
        $number++;
        }


    echo "</form>"; 
    echo "</table>";    
    }
    else
    {
        "You have no quiz! :D";
        }

    mysqli_close($con); 
    ?>

3 个答案:

答案 0 :(得分:1)

移动此行:

echo "<form action='answer_quiz.php' method='post'>";

while循环内部。


另外,更改

echo "<input type='hidden' name='quiz[$number]' value='$result[quiz_ID]'>"

echo "<input type='hidden' name='quizId' value='$result[quiz_ID]'>"

现在,在answer_quiz.php中,您将获得所需值$_POST['quizId']

答案 1 :(得分:0)

将您的时间改为:

while( $row = $result->fetch_array(MYSQLI_ASSOC)){

 echo  $row['subject'];

}

答案 2 :(得分:0)

您忘记了变量的引号: 而不是

echo "<input type='hidden' name='quiz[$number]' value='$result[quiz_ID]'>";

应该是

echo "<input type='hidden' name='quiz[$number]' value='$result[\"quiz_ID\"]'>";