将HTML表导出到MySQL

时间:2013-12-12 18:52:14

标签: html mysql sql html-table

假设我有一个HTML表格。

<html>
<body>
<table border="1">
<tr>
<th>Username</th>
<th>Password</th>
</tr>
<tr>
<td>User_1</td>
<td>Password_1</td>
</tr>
<tr>
<td>User_2</td>
<td>Password_2</td>
</tr>
</table>
</body>
</html>

我需要一个脚本,在TH标签中创建COLUMNS到MySQL表,然后插入TD标签中的数据。怎么做?

1 个答案:

答案 0 :(得分:3)

这可以很简单但同时非常有趣。

我建议使用PHP DOM解析器。 (http://simplehtmldom.sourceforge.net/manual.htm

  1. 手动在MySQL中创建包含其列(id,username,password)的表。
  2. 将html文件(带有html表格)放在网络服务器上。
  3. 将PHP DOM解析器类放在Web服务器(http://sourceforge.net/projects/simplehtmldom/files/
  4. ???
  5. 迷死!

    require_once ('simple_html_dom.php');
    
    $table = file_get_html('table.html');
    
    foreach($table ->find('tr') as $tr){ // Foreach row in the table!
       $username = $tr->find('td', 0)->plaintext; // Find the first TD (starts with 0)
       $password= $tr->find('td', 1)->plaintext; // Find the second TD (which will be 1)
        echo "INSERT INTO users (id, username, password) VALUES (NULL, '$username', '$password') <br />"; // Do your insert query here!
    }
    
  6. 输出(我测试了这个):

    INSERT INTO users (id, username, password) VALUES (NULL, '', '') 
    INSERT INTO users (id, username, password) VALUES (NULL, 'User_1', 'Password_1') 
    INSERT INTO users (id, username, password) VALUES (NULL, 'User_2', 'Password_2') 
    

    所以从html文件中删除第一个<tr>,因为它是表标题。