Имеется многомерный массив, который рекурсивно достается из xml, выглядит примерно так xml[table_name][table_field][field_value]. Нужно добавить в таблицу с именем table_name новую строку с ячейками table_field и их значениями field_value. Если такая запись имеется, то сделать update, если нет, то добавить. Я уже несколько часов мучаюсь, ничего не выходит, использую mysqli ооп.
57 сообщений, а до сих пор не знаешь, что тут принято приводить свой код, показывать, что именно не получается. Нужно сделать наглядно так, чтобы не сложно было разобраться.
Код (PHP): $dom = new DOMDocument('1.0', 'UTF-8'); $dom->load('1.xml'); $main = $dom->documentElement; // Корень $nodelist = $main->childNodes; // Дочерние узлов корня $cl = $nodelist->length; // Количество узлов в корне (таблиц) for ($i=0; $i < $cl; $i++) { // Цикл перебора дочерних узлов корня (таблиц) $child = $nodelist->item($i); // Узлы (таблицы) $c_nList = $child->childNodes; // Дочерние элементы предыдущих узлов (таблиц) $l_cnL = $c_nList->length; // Количество элементов каждого узла (таблиц) for ($s=0; $s < $l_cnL; $s++) { // Цикл перебора дочерних элементов таблиц $line = $c_nList->item($s); // Получаем строки $att_c_line = $line->attributes->length; // Количество свойств для каждой строки for ($q=0; $q < $att_c_line; $q++) { $att = $line->attributes->item($q); // Получаем атрибуты $att_p[$att->nodeName] = $att->nodeValue; // Создаем массив с ключем в качестве имени свойства и значением в качестве значения же } // Конец третьего цикла } // Конец второго цикла } // Конец первого цикла Это код для парсинга xml, он неправильный, сейчас переписываю, а когда для записи в бд вообще нет, ибо я не могу понять, как его сделать.