привет, я пытаюсь вставить некоторые данные из файла xml в mysql, мне нужно вставить код данных в столбец ссылок и данные qta в столбце количества Xml:
<dispo>
<codice>CA031BL</codice>
<arrivi>
<arrivo>
<maga>B</maga>
<data>2020-04-01</data>
<qta>0</qta>
</arrivo>
</arrivi>
<codice>CA031BL</codice>
<arrivi>
<arrivo>
<data>2020-04-01</data>
<maga>C</maga>
<qta>30</qta>
</arrivo>
</dispo>
в php файле, который я вставил: подключение к mysql дБ работает просто xml загрузка кажется работающей, если я вставлю число в $ количество и $ Ссылка это работает, но как я могу вставить правый столбец xml файла?
<?php
$conn = mysqli_connect("host", "user", "psw", "db");
$affectedRow = 0;
$xml = simplexml_load_file("http://......./dispo2.xml") or die("Error: Cannot create object");
foreach ($xml->children() as $row) {
$quantity = $row->qta;
$reference = $row->codice;
$sql = "UPDATE ps_stock_available set quantity = '$quantity' where id_product = (SELECT id_product from ps_product where reference in ('$reference')";
$result = mysqli_query($conn, $sql);
if (! empty($result)) {
$affectedRow ++;
} else {
$error_message = mysqli_error($conn) . "\n";
}
}
?>
<h2>Insert XML Data to MySql Table Output</h2>
<?php
if ($affectedRow > 0) {
$message = $affectedRow . " records inserted";
} else {
$message = "No records inserted";
}
?>
<style>
body {
max-width:550px;
font-family: Arial;
}
.affected-row {
background: #cae4ca;
padding: 10px;
margin-bottom: 20px;
border: #bdd6bd 1px solid;
border-radius: 2px;
color: #6e716e;
}
.error-message {
background: #eac0c0;
padding: 10px;
margin-bottom: 20px;
border: #dab2b2 1px solid;
border-radius: 2px;
color: #5d5b5b;
}
</style>
<div class="affected-row"><?php echo $message; ?></div>
<?php if (! empty($error_message)) { ?>
<div class="error-message"><?php echo nl2br($error_message); ?></div>
<?php } ?>
Мне нужно вставить это также перед импортом данных, потому что я должен вставить в количестве mysql сумму значения QTA моего xml с тем же кодом:
select `reference`, sum(`quantity`)
from `ps_product_attribute`
group by `reference`