Вопрос:

Вставить массив в Mysql с PHP

php mysql

31 просмотра

1 ответ

1 Репутация автора

на этот раз я прошу помощи для ввода массива.

У меня уже есть БД, созданная с этими


id | Nombre | умедида | Precio | не могу | Сталь | igv | всего | Factura

Массив имеет эти значения

array (
  0 => 
  array (
    'umedida' => 'NIU',
    'cantidad' => '1',
    'stotal' => '123.00',
    'precio' => '104.24',
    'igv' => '18.76',
    'nombre' => '123n',
    'total' => 104.24,
    'factura' => '10101701',
  ),
  array (
    'umedida' => 'ZZ',
    'cantidad' => '1',
    'stotal' => '1213.00',
    'precio' => '1204.24',
    'igv' => '181.76',
    'nombre' => '123n',
    'total' => 104.24,
    'factura' => '10101701',
  ),
  array (
    'umedida' => 'ZZ',
    'cantidad' => '1',
    'stotal' => '133.00',
    'precio' => '134.24',
    'igv' => '181.76',
    'nombre' => '123n',
    'total' => 104.24,
    'factura' => '10101701',
  ),

);

Каждый должен быть в другом ряду. Как я мог это сделать?

Автор: Lembes Источник Размещён: 10.08.2019 09:27

Ответы (1)


0 плюса

249 Репутация автора

Если ключи массива PHP и имена полей таблицы базы данных совпадают, вы можете сделать это просто так:

<?php

$a = array (
    array (
    'umedida' => 'NIU',
    'cantidad' => '1',
    'stotal' => '123.00',
    'precio' => '104.24',
    'igv' => '18.76',
    'nombre' => '123n',
    'total' => 104.24,
    'factura' => '10101701',
  ),
  array (
    'umedida' => 'ZZ',
    'cantidad' => '1',
    'stotal' => '1213.00',
    'precio' => '1204.24',
    'igv' => '181.76',
    'nombre' => '123n',
    'total' => 104.24,
    'factura' => '10101701',
  ),
  array (
    'umedida' => 'ZZ',
    'cantidad' => '1',
    'stotal' => '133.00',
    'precio' => '134.24',
    'igv' => '181.76',
    'nombre' => '123n',
    'total' => 104.24,
    'factura' => '10101701',
  ),
);

$db = new mysqli('host','user','pass','db');

foreach($a as $row){
    $query = "INSERT INTO `table_name` SET ";
    foreach($row as $column=>$value) {
        $query .= $column . " = " . $db->real_escape_string($value) . ", ";
    }
    $db->query(rtrim($query,", "));
}
?>
Автор: Kevin HR Размещён: 11.08.2019 08:33
Вопросы из категории :
32x32