如何使用PHP将html表数据插入sql数据库?

时间:2017-02-15 14:31:02

标签: php html

这是我的表格html代码。我尝试使用普通插入发送数据,但它只发送最后一行数据。我不知道如何发送完整的数据。有人可以帮我解决这个问题。

<form action="admin_schedule_employee.php" id="schedule_employee" method="post" >
           <input type="date" class="input-sm" name="scheduledate" style="margin:10px;">
           <table class="table-responsive table table striped table-bordered">
                <thead>
                    <tr>
                        <th  style="width:20%">Employee First Name</th>
                        <th  style="width:20%">Employee ID</th>
                        <th  style="width:20%">Start Time</th>
                        <th  style="width:20%">End Time</th>                            
                    </tr>
                    <?php while($row = mysqli_fetch_array($search_result)): ?>
                    <tr>
                       <td><input disabled name="employeename" type="text" value="<?php echo $row['fname']; ?>"></input></td>
                       <td><input disabled name="employeeid"   type="number" value="<?php echo $row['employee_id']; ?>"></input></td>
                       <td><input name="starttime" type="time"></td>
                        <td><input name="endtime" type="time"></td>
                    </tr>
                    <?php endwhile; ?>
                </thead>
                <tbody>
               </tbody>
            </table>    
            <input type="submit" name="Schedule" value="Schedule">              
         </form>[This is how my table look like i want to send the whole data to sql database using php][1]

1 个答案:

答案 0 :(得分:1)

首先,您需要创建多个页面:

form.php
process.php
done.php

创建用户表单很简单,将表格放在表格标签中就像上面所做的那样,这是一个例子。将此页面另存为form.php

<form id="new record" action="process.php" method="POST">
    <table width="500px">
        <tr>
            <td width="50%">
                <input type="text" name="fname" id="fname">
            </td>
            <td width="50%">
                <input type="text" name="lname" id="lname">
            </td>
        </tr>
        <tr>
            <td width="50%">
            </td>
            <td width="50%">
                <input type="submit" value="Add Record">
            </td>
        </tr>
    </table>
</form>

接下来,您需要创建一个可以处理此数据的页面,并将其添加到您的mysql数据库中。对于以下示例,我省略了我的数据库详细信息并替换了它们,但您应该添加自己的数据库详细信息。

对于此示例,假设我的数据库有一个只有fname和lname列的表。

<meta http-equiv="refresh" content="0; url=/done.php" />
<?php
    $servername = "your_server_name";
    $username = "mysql_username";
    $password = 'mysql_password';
    $dbname = "database_name";
    $fname = $_GET['fname'];
    $lname = $_GET['lname'];


    try {
        $conn = new PDO("mysql:host=$servername; dbname=$dbname", $username,    $password);
        // set the PDO error mode to exception
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $sql = "INSERT INTO online (fname, lname)
        VALUES ('$fname', '$lname')";
        // use exec() because no results are returned
        $conn->exec($sql);
        echo "New record inserted";
    }
    catch(PDOException $e)
    {
        echo $sql . "<br>" . $e->getMessage();
    }

    $conn = null;

?>

希望这样可以插入记录。现在我们需要在done.php页面上有一个表,它可以显示数据库中的所有记录。使用以下代码:

<html lang="en">
<head>
    <meta http-equiv="refresh" content="5; url=/done.php" />
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
    <?php
        $servername = "your_server_name";
        $username = "mysql_username";
        $password = 'mysql_password';
        $dbname = "database_name";

    // Create connection
    $conn = mysqli_connect($servername, $username, $password, $dbname);
    // Check connection
    if (!$conn) {
        die("Connection failed: " . mysqli_connect_error());
    }

    $sql = "SELECT * from table_name";
    $result = mysqli_query($conn, $sql);

    if (mysqli_num_rows($result) > 0) {
        // output data of each row
        while($row = mysqli_fetch_assoc($result)) {
            echo $row["fname"]. ": &nbsp;";
            echo $row["lname"]. "<br /><br />";
        }
     } else {
        echo "No messages";
    }

    mysqli_close($conn);
?>
</body>
</html>

希望这对你有用。