Ответ 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;
У меня есть один массив, который я показываю следующим образом:
echo '<table>';
foreach ($rowData as $row => $tr) {
echo '<tr>';
foreach ($tr as $td)
echo '<td>' . $td .'</td>';
echo '</tr>';
}
echo '</table>';
Второй и четвертый столбцы всегда являются именем столбца. Результат выглядит примерно так:
Имя: John Locke - Ник: Locke
Возраст: 20 - Адрес: Ok
См. шаблон? Как я могу поместить этот массив в мою базу данных? Поскольку моя структура таблицы базы данных:
ID - Имя - Никнейм - Возраст - Адрес
У меня нет подсказки, как это сделать с массивом, который я использую.
- 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 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>';
вы можете сделать это:
$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;
Как вы уже знаете, к каким позициям относятся массивы, позиции IE от 0 до 3. Вы можете просто перебирать то же, что и сейчас, и компилировать запрос.
Просто отбросьте этот фрагмент в свой код, ive сбил его на лету, а его немного хакерский, возможно, лучший способ. Просто посмотрите, что он делает на вашем экране, и посмотрите, где, если он нуждается в исправлении.
$insert = '';
for ($i=0; $i<=3; $i++):
$insert .= "'" . $tr[$i] . "'";
if ($i !== 3):
$insert .= ',';
endif;
endfor;
echo $insert;
Как только вы видите, что выглядит как правильная вставка, вы можете (используя безопасные методы) вставить его в свою базу данных.