每次在同一页面上提交表单时,逐行移动表

时间:2012-11-30 07:30:05

标签: php

我有一张包含国家,名字等行的表格

我还有一个每行处理的表单

我需要在同一页面上提交表格

如何进入同一页面上同一张桌子的下一行

我可以使用while或foreach,在哪里放置结束}还是有其他方式?

1 个答案:

答案 0 :(得分:0)

好的,我为你做了一个开始。我想你想把数据库中的所有行列入一个HTML表格,底部有一个表格,向数据库添加一个新行,对吗?

如果是这样,那么您可以使用这个单一的PHP页面代码来完成它。请注意,我不考虑安全查询的任何安全性!您可以在Internet上找到更多相关信息。

<?php
    $DB_NAME = 'DATABASE_NAME';
    $DB_HOST = 'DATABASE_HOST';
    $DB_USER = 'DATABASE_USER';
    $DB_PASS = 'DATABASE_PASSWORD';

    // CONNECT TO THE DATABASE
    $mysqli = new mysqli($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME);

    if (mysqli_connect_errno()) {
        printf("Connect failed: %s\n", mysqli_connect_error());
        exit();
    }

    //form submit?
    if(isset($_POST['save'])) {
        //INSERT QUERY
        $q = "INSERT INTO `your_table`(`field1`, `field2`, `field3`) VALUES ('" . $_POST['field1'] . "', '" . $_POST['field2'] . "', '" . $_POST['field3'] . "')";
        $mysqli->query($q) or die($mysqli->error.__LINE__);
    }

    //get all items from db (also the new row)
    $query = "SELECT * FROM `your_table`";
    $result = $mysqli->query($query) or die($mysqli->error.__LINE__);

    //build first part of table
    echo '<table>
            <thead>
                <th>
                    <td>Your field1</td>
                    <td>Your field2</td>
                    <td>Your field3</td>
                </th>
            </thead>
            <tbody>';

    //create rows
    if($result->num_rows > 0) {
        while($row = $result->fetch_assoc()) {
            echo '<tr>
                    <td>' . $row['field1'] . '</td>
                    <td>' . $row['field2'] . '</td>
                    <td>' . $row['field3'] . '</td>
                 </tr>';    
        }
    } else {
        echo '<tr><td colspan=3>NO RESULTS</td></tr>';  
    }

    //close table
    echo '      </tbody>
          </table>';

    // CLOSE CONNECTION
    mysqli_close($mysqli);
?>

<!-- the form -->
<form action="#" method="POST">
    <input type="text" name="field1" />
    <input type="text" name="field2" />
    <input type="text" name="field3" />

    <input type="submit" name="save" value="save" />
</form> 

希望这有帮助!