我如何插入HTML表格数据到SQL数据库使用PHP?

问题描述:

这是我的表格html代码。我尝试使用普通插入发送数据,但它只发送最后一行数据。我不知道如何发送完整的数据。有人可以帮助我这个。我如何插入HTML表格数据到SQL数据库使用PHP?

<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] 
+0

事情是你创建同名的输入 - >这就是你得到最后一行的原因。您需要输入不同的名称。例如,添加一些在每次循环运行中递增的变量。 –

+0

您应该可能共享您正在使用的SQL查询。问题可能在那里。另外,您并未将html插入数据库,您正在检索数据库数据并构建一个html表。 – AntonChanning

若要开始,您将需要创建多个网页:

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> 

希望这会对你有用。