我想创建一个HTML表,但应从mysql数据库中的值生成行。问题是我希望有一个布尔框,用户可以在其中标记它,然后按一个按钮以更新数据库中的表。我该怎么做?

到目前为止的代码:

<?php
session_start();
require("connectToEvent_log.php");
$connectToEvent = connect2db();
$uid = '2'; // for the filnal version: @$_SESSION['uid'];

$view_event = "SELECT * FROM event_log WHERE uid = $uid";
$view_event_query = mysqli_query($connectToEvent, $view_event);
$row = mysqli_num_rows($view_event_query);
$print = mysqli_fetch_array($view_event_query);
?>

<html>
<head>
<title>Events</title>
</head>
    <body>
        <form action="viewEvents.php" method="POST">
                <table border = '1'>
                    <tr>
                    <?php
                        while($row != 0){
                        echo "<td>".$print['hours']."</td>";
                        echo "<td>".$print['date']."</td>";
                    }
                    ?>
                    </tr>
                </table>
        <form/>
        </form>
    </body>
</html>

最佳答案

您可以轻松地遍历mysqli_fetch_array函数的结果以创建表行。创建复选框标记很容易完成,我假设表具有主键id,并且存储复选框值(0或1)的列称为checkbox

<?php
session_start();
require("connectToEvent_log.php");
$connectToEvent = connect2db();
$uid = '2'; // for the filnal version: @$_SESSION['uid'];

$view_event = "SELECT * FROM event_log WHERE uid = $uid";
$view_event_query = mysqli_query($connectToEvent, $view_event);
$num_rows = mysqli_num_rows($view_event_query);
$rows = mysqli_fetch_array($view_event_query);

?>

<html>
<head>
    <title>Events</title>
</head>
    <body>
        <form action="viewEvents.php" method="POST">
            <table border="1">
                <thead>
                    <tr>
                        <td>Id</td>
                        <td>Date</td>
                        <td>Hours</td>
                        <td>Checkbox</td>
                    </tr>
                </thead>
                <tbody>
                    <?php
                    for ($i = 0; $i < count($num_rows); $i++) {
                    ?>
                        <tr>
                            <td><?php print $rows[$i]["eid"]; ?></td>
                            <td><?php print $rows[$i]["date"]; ?></td>
                            <td><?php print $rows[$i]["hours"]; ?></td>
                            <td><input type="checkbox" name="row[<?php $rows[$i]["eid"]?>][checkbox]" value="1" <?php if ($rows[$i]["accepted"]) print ' checked="checked"'; ?>/></td>
                        </tr>
                    <?php
                    }
                    ?>
                </tbody>
            </table>
            <input type="submit" />
        </form>
    </body>
</html>

关于php - 带内联PHP的HTML表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30262506/

10-10 20:35