我有一个我正在显示的数组:
echo '<table>';
foreach ($rowData as $row => $tr) {
echo '<tr>';
foreach ($tr as $td)
echo '<td>' . $td .'</td>';
echo '</tr>';
}
echo '</table>';
第二列和第四列始终是列的名称。结果如下:
姓名:John Locke - NickName:Locke
年龄:20岁 - 地址:好的
看模式?
如何将这些数组放入我的数据库?
由于我的数据库表结构是:
ID - Name - NickName - Age - Adress
我不知道如何使用我使用的阵列来做到这一点。
- UPDATE
$table = $html->find('table', 0);
$rowData = array();
foreach($table->find('tr') as $row) {
// initialize array to store the cell data from each row
$flight = array();
foreach($row->find('td') as $cell) {
foreach($cell->find('span') as $e){
$e->innertext = '';
}
// push the cell's text to the array
$flight[] = $cell->plaintext;
}
$rowData[] = $flight;
}
echo '<table>';
foreach ($rowData as $row => $tr) {
echo '<tr>';
echo '<td>' . $row . '</td>';
foreach ($tr as $td)
echo '<td>' . $td .'</td>';
echo '</tr>';
}
echo '</table>';
答案 0 :(得分:1)
你可以这样做:
$insert = "";
foreach ($rowData as $row => $tr) {
$insert .= "('".$tr[0]."','".$tr[0]."','".$tr[0]."','".$tr[0]."'),";
}
$insert = substr($insert, 0, -1)
$sql = "Insert into YourTable values ".$insert;
答案 1 :(得分:0)
正如您已经知道数组位置的相关内容,IE位置为0到3.您可以像现在一样进行迭代并编译查询。
只需将此代码段放入您的代码中,我已经将其打开并且有点hackish,可能是更好的方式。只需看看它在屏幕上的作用,看看它是否需要更正。
$insert = '';
for ($i=0; $i<=3; $i++):
$insert .= "'" . $tr[$i] . "'";
if ($i !== 3):
$insert .= ',';
endif;
endfor;
echo $insert;
一旦看到正确的插入内容,您就可以(使用安全方法)将其插入数据库。