Как упростить конструкцию на PHP?

220
02 февраля 2018, 20:36
<?php
  ini_set('display_errors', 1);
  error_reporting(E_ALL);
  include ('connect.class.php');
  $db = new Database;
$ins = array(
        'type_product' => $_POST['type_product'],
        'company_product' => $_POST['company_product'],
        'color_product' => $_POST['color_product'],
        'line_product' => $_POST['line_product'],
        'bend_product' => $_POST['bend_product'],
        'thickness_product' => $_POST['thickness_product'],
        'long_product' => $_POST['long_product'],
        'unit_of_measure_product' => $_POST['unit_of_measure_product'],
        'price_product' => $_POST['price_product'],
        'mix_product' => $_POST['mix_product'],
        'quantity_product' => $_POST['quantity_product'],
        'lines_product' => $_POST['lines_product'],
        'size_product' => $_POST['size_product'],
        'composition_product' => $_POST['composition_product'],
        'description_product' => $_POST['description_product']
);
  if (isset($_POST['submit']))
  {
      if (is_array($ins))
      {
          $db->insert('product', $ins);
      }
  }
  ?>

  <form method="post">
<?php
foreach($ins as $key => $value)
    {
    echo  '<input type="text" name="' . $key . '" required>';
    }
?>
      <input type="submit" name="submit" value="submit">
  </form>
Answer 1

Например, сначала просто определить массив нужных полей, затем заполнить их из $_POST, и передать дальше. проверять что $ins это массив смысла нет, вы его именно так и определили.

$fields = [ 'type',  'company',  'color', 'line', 'bend',  'thickness', 'long', 'unit_of_measure',
            'price', 'mix', 'quantity',  'lines',  'size', 'composition',  'description',
        ];

$data = [];
foreach($fields as $field){
    $k = "{$field}_product";
    $data[$k] = isset($_POST[$k]) ? $_POST[$k] : null;
}
if (isset($_POST['submit'])){
        $db->insert('product', $data);
}
READ ALSO
Вывод данных с MySql в select

Вывод данных с MySql в select

Имеется форма в которой есть <select> (Код ниже)

317
Поля формы html

Поля формы html

Передо мной задача выводить пользователю необходимые моля для формы в зависимости от его выбора, селекта, вопрос в том как это лучше сделать?!...

292
Как решить проблему фиксациии блока при прокрутке?

Как решить проблему фиксациии блока при прокрутке?

Есть блок1, который фиксируется при прокрутке страницы, он работает корректно до тех пор, пока не кликнуть на переключатель, и не появится...

280