Size: a a a

2020 July 29

V

Vitaly in phpGeeks
Ратмир Диронин
в footer_about_us вписать что-то вроде {{HTTPS_SERVER}} из конфига или ещё что
источник

V

Vitaly in phpGeeks
сетишь нужное в шаблоне и вперед  или заранее готовишь требуемое...
источник

АХ

Александр Хакимов... in phpGeeks
Uspeshniy Lox 🤞🏻👁🤚🏻
Подскажите, пожалуйста
Есть массив
$xml = new SimpleXMLElement($xmlstr);

foreach($xml->mark as $car)
 var_dump($car->folder->model->__toString());
 //$item = $item->model;
 $attrs = $car->attributes();
 if (!empty($attrs['id'])) {
   var_dump($attrs['name']->__toString());
 }
 if (!empty($attrs['id'])) {
   var_dump($attrs['id']->__toString());
 }
 echo $car.' - ';
 echo $attrs->id.' - ';
 echo '<br/>';
}


Нужно внести в БД все указанные элементы а вносится только последняя
Подскажите, пожалуйста, как это пофиксить?
В форыче в массив дописывай каждую итерацию данные которые нужно внести. Как соберешь необходимые данные сделаешь массовый инсерт в таблу
источник

UL

Uspeshniy Lox 🤞🏻👁🤚🏻... in phpGeeks
Vitaly
где здесь занесение в БД ? и зачем там куча var_dump()  под условиями?
<?php
require_once 'cars.xml';
require_once 'dbcon.php';

$xml = new SimpleXMLElement($xmlstr);

foreach($xml->mark as $car){

 #var_dump($car->folder->model->__toString());
 //$item = $item->model;
 $attrs = $car->attributes();
 if (!empty($attrs['id'])) {
   #var_dump($attrs['name']->__toString());
 }
 if (!empty($attrs['id'])) {
   #var_dump($attrs['id']->__toString());
 }

 echo $car.' - ';
 echo $attrs->id.' - ';
 echo '<br/>';
}

mysqli_query($con, "INSERT INTO mark (xml_id, mark) VALUES (".$attrs->id.", '".$car."')" );
echo (mysqli_error($con));
?>


Вардампами отслеживаю что он мне выписывает сейчас, вьюхи нет, поэтому так
источник

UL

Uspeshniy Lox 🤞🏻👁🤚🏻... in phpGeeks
Александр Хакимов
В форыче в массив дописывай каждую итерацию данные которые нужно внести. Как соберешь необходимые данные сделаешь массовый инсерт в таблу
там хмл файл, 600к строк кода, я не осилю
Надо просто и красиво раскидать, я вот ща не вкуриваю чё я делаю не так
Если честно, спёкся и потому не вижу решения, которое, вероятно, лежит на поверхности(стать фронт ендером)
источник

АХ

Александр Хакимов... in phpGeeks
о ужс
источник

V

Vitaly in phpGeeks
Uspeshniy Lox 🤞🏻👁🤚🏻
там хмл файл, 600к строк кода, я не осилю
Надо просто и красиво раскидать, я вот ща не вкуриваю чё я делаю не так
Если честно, спёкся и потому не вижу решения, которое, вероятно, лежит на поверхности(стать фронт ендером)
да всё просто у тебя цикл отрабатывает и остаются только посление значения .. так как ты их пишешь в одно и тоже метсто .. потому и в результате в БД толкьо одна запись
источник

UL

Uspeshniy Lox 🤞🏻👁🤚🏻... in phpGeeks
Так точно
Как сделать так, что бы он каждую итерацию цикла мне присвоил в бд?
источник

АХ

Александр Хакимов... in phpGeeks
Uspeshniy Lox 🤞🏻👁🤚🏻
Всем привет, ребята
Выполняю тестовое задание, пришлось экстренно вкатываться в xml, начал с изучения simpleXML
Сейчас задача такова: написать инструмент по импорту данных(марка, модель) из этих XML файлов справочников, залить с его помощью в БД марки и модели из справочников с сохранением принадлежности марка-модель.
Я накатал следующий код, но у меня пока траблы с занесением данных в таблицу. Можете кто подсказать, что я сделал не так?

<?php
require_once 'cars.xml';
require_once 'dbcon.php';

$xml = new SimpleXMLElement($xmlstr);

foreach($xml->mark as $car){
 var_dump($car->folder->model->__toString());
 //$item = $item->model;
 $attrs = $car->attributes();
 if (!empty($attrs['id'])) {
   #var_dump($attrs['name']->__toString());
 }
 if (!empty($attrs['id'])) {
   #var_dump($attrs['id']->__toString());
 }
 
   //echo $car->folder->model.' - ';
   //echo $attrs->id.' - ';
     echo '<br/>';
}
mysqli_query($con, "INSERT INTO model (model, xml id) VALUES (". $car->folder->model.", '". $attrs->id."')" );

?>
Если базу не жалко, просто свой инсерт перенеси на до закрытия фигурной скобки а не после
источник

АХ

Александр Хакимов... in phpGeeks
а то инсерт у тебя после форыча отрабатывает, а не в момент итерации  одной записи
источник

V

Vitaly in phpGeeks
Uspeshniy Lox 🤞🏻👁🤚🏻
Так точно
Как сделать так, что бы он каждую итерацию цикла мне присвоил в бд?
как написали выше это насилие над БД ) там где печатаешь значения добавляешь вставку в БД прямо в цикле .. и так будет происходить на каждый такт цикла
источник

UL

Uspeshniy Lox 🤞🏻👁🤚🏻... in phpGeeks
Секунду
источник

АХ

Александр Хакимов... in phpGeeks
Лучше сформировать готовые данные для одного инсерта, и впихать по самые помидоры
источник

V

Vitaly in phpGeeks
Uspeshniy Lox 🤞🏻👁🤚🏻
Так точно
Как сделать так, что бы он каждую итерацию цикла мне присвоил в бд?
складываешь свои значения в массив .. и потом подготовленным запросом записываешь всё разом в БД
источник

UL

Uspeshniy Lox 🤞🏻👁🤚🏻... in phpGeeks
Вы извините, я ща действительно перегрузился, половину не понял
Но ваш способ сработал, база наполнилась айдишниками
источник

UL

Uspeshniy Lox 🤞🏻👁🤚🏻... in phpGeeks
Там по ТЗ надо это на ларавеле сделать всё
источник

UL

Uspeshniy Lox 🤞🏻👁🤚🏻... in phpGeeks
Опыта с фреймворками пока нет, там вроде проще это сделать
источник

АХ

Александр Хакимов... in phpGeeks
Uspeshniy Lox 🤞🏻👁🤚🏻
Вы извините, я ща действительно перегрузился, половину не понял
Но ваш способ сработал, база наполнилась айдишниками
Короч, кратко, есть способ впихивания в таблицу по одной строчке. И есть способ впихивания overдохрена строчек.
источник

АХ

Александр Хакимов... in phpGeeks
Ты сейчас запустил цикл и в каждом проходе по 1 строчке запихиваешь
источник

АХ

Александр Хакимов... in phpGeeks
а мог бы сформировать готовый массив данных и запульнуть в БД
источник