2013-12-12 3 views
2

Предположим, у меня есть таблица HTML.Экспортировать HTML-таблицу в MySQL

<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 в таблице MySQL, а затем вставляет данные, находящиеся в TD теге. Как это сделать?

+0

'' Это хорошее начало. –

+0

Это одно время? Затем сделайте это руками. Просто найдите редактор таблиц, создайте таблицу и скопируйте и вставьте данные. – vittore

+0

У него более 80 тыс. Строк. – user3095432

ответ

3

Это может быть простым, но очень приятным одновременно.

Я бы предложил использовать парсер PHP DOM. (http://simplehtmldom.sourceforge.net/manual.htm)

  1. Создайте таблицу со своими столбцами (идентификатор, имя пользователя, пароль) в MySQL вручную.
  2. Поместите файл html (с таблицей html) на веб-сервер.
  3. Поместите класс парсера PHP DOM на веб-сервер (http://sourceforge.net/projects/simplehtmldom/files/)
  4. ???
  5. Awesomeness!

    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! 
    } 
    

выход (я проверил это):

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') 

Так удалить первый <tr> из HTML-файла, так как это заголовок таблицы.

+0

Собирайтесь попробовать это прямо сейчас, спасибо! – user3095432

+0

Просто попробовал, извините, мне потребовалось много времени, пришлось сделать 81 столбец. Я получаю Неустранимая ошибка: вызов функции-члена функции() для не-объекта – user3095432

+0

Включил ли вы простой класс html dom? –

Смежные вопросы