подскажите как зациклить такую операцию с добавлением значений в базу данных?
Есть файл Excel собирающий значения с других файлов. Он содержит 4 столбца где в столбце: A-номер, B-показатель1, С-показатель2, D-показатель3. Доступ ко всем параметрам получаю через getCalculatedValue()
В столбце будет более 200 значений. Как получить значения из строки понятно, делаю так:
$file = 'Result.xls';
$objPHPExcel = PHPExcel_IOFactory::load($file);
$project_number = $objPHPExcel->getActiveSheet(0)->getCell('A1')->getValue();
$par1 = $objPHPExcel->getActiveSheet(0)->getCell('B1')->getCalculatedValue();
$par2 = $objPHPExcel->getActiveSheet(0)->getCell('C1')->getCalculatedValue();
$par3 = $objPHPExcel->getActiveSheet(0)->getCell('D1')->getCalculatedValue();
И далее делаю запрос на вставку всех параметров(par1 par2 par3 в столбцы базы данных, если номер в бд равен номеру в столбце A
$sql = "UPDATE project_registry SET green_points = '$par1', yellow_points = '$par2', red_points = '$par3'
WHERE project_number = '$project_number'";
$result_set = sqlsrv_query($conn, $sql);
Спасибо всем за подсказки, решил вопрос следующим путем.
Сформировал многомерный массив по паре ключ => строка со значениями A,B,C,D
$sheet = $objPHPExcel->getActiveSheet();
$array_data = array();
foreach($sheet->getRowIterator() as $row){
$rowIndex = $row->getRowIndex ();
$array_data[$rowIndex] = array('A'=>'', 'B'=>'','C'=>'','D'=>'');
$cell = $sheet->getCell('A' . $rowIndex);
$array_data[$rowIndex]['A'] = $cell->getCalculatedValue();
$cell = $sheet->getCell('B' . $rowIndex);
$array_data[$rowIndex]['B'] = $cell->getCalculatedValue();
$cell = $sheet->getCell('C' . $rowIndex);
$array_data[$rowIndex]['C'] = $cell->getCalculatedValue();
$cell = $sheet->getCell('D' . $rowIndex);
$array_data[$rowIndex]['D'] = $cell->getCalculatedValue();
}
На выводе print_r($array_data[1])
получил строку со значениями в ячейках (A1:D1);
Далее собрал в цикл:
for ($i = 1; $i <= count($array_data); $i++) {
$sql = "UPDATE project_registry SET green_points =".$array_data[$i]['B'].", yellow_points = ".$array_data[$i]['C'].", red_points = ".$array_data[$i]['D']." WHERE project_number = ".$array_data[$i]['A']." ";
$result_set = sqlsrv_query($conn, $sql);
print_r($sql);
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть задача, надо создать функцию которая будет возвращать ссылку на страницу
подскажите пожалуйста, как округлить полученный результат до десятых?
Задача хранить некую статистику на 30 дней в БДДабы не нагружать ее лишним хламом требуется в базе иметь не более 30 записей