Я вычисляю в PHP с помощью условия


Хорошо у меня есть следующий код, где я вычисляю количество деталей, необходимых для выполнения продукта. Я должен выполнить следующую формулу, item 2 у вас есть дети, поэтому дети зависят от количества этого родителя.

introducir la descripción de la imagen aquí

но у меня есть следующий вопрос, когда у ребенка родителя есть дети, мне нужно взять количество этого + количество матери.

introducir la descripción de la imagen aquí

У меня есть следующий код, где я различаю рецепт. Но вычисление я не могу сделать

$cantidad_orden = 10;
$query_orden = "SELECT x.* FROM Details x WHERE id  = 1 ORDER BY x.item ASC";
         $result    = mysqli_query($ConexionMYSQL, $query_orden);
         while ($row = mysqli_fetch_assoc($result)) {
             $item = $row['item'];
             $cantidad_hijo = $row['cantidad'];
             $tipo = $row['tipo'];
               echo $item . ' >' .$tipo;
               echo "<br>";
               $level = substr_count($item, '.');
               $words  = explode(".", $item);
               $check_item = $words[0];

               if ($actual_item==$check_item) {
                       echo "Mismo item  ".PHP_EOL ;
                       if ($nivel_item==$level) {
                       } else {
                           $nivel_item = $level;
                           $cantidad_padre = $cantidad_padre * $cantidad_hijo;
                           echo "Otro nivel ::  ".PHP_EOL ;
                       }
                   } else {
                          $actual_item = $check_item;
                          $cantidad_padre = $cantidad_orden;
                          echo "Otro item  ".PHP_EOL ;
                   }
                   echo "<br>";
                   echo $cantidad_hijo .' * '. $cantidad_padre.' = '. $cantidad_hijo * $cantidad_padre;
                   echo "<br>";
             }

Если я выполню этот код, я получу следующий результат, извините количество фотографий и Заголовок.

introducir la descripción de la imagen aquí

Author: MoteCL, 2021-02-19

1 answers

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

$cantidad_orden = 10;
$query_orden = "SELECT x.* FROM Details x WHERE id  = 1 ORDER BY x.item ASC";
    $result    = mysqli_query($ConexionMYSQL, $query_orden);
    $aux    = array(""=>1);
    while ($row = mysqli_fetch_assoc($result)) {
        $item = $row['item'];
        $cantidad_hijo = $row['cantidad'];
        $tipo = $row['tipo'];
        $level = substr($item,0,strrpos($item,"."));
        $aux[$item]=$cantidad_hijo*$aux[$level];

        echo $item . ' >' .$tipo;
        echo "<br>";

        echo "<br>";
        echo $cantidad_hijo .' * '. $cantidad_orden .' * '. $aux[$level].' = '. $cantidad_hijo * $cantidad_orden * $aux[$level];
        echo "<br>";
    }

Вы также можете изменить $cantidad_hijo * $cantidad_orden * $aux[$level] на $cantidad_orden * $aux[$item]

Что делает этот алгоритм, так это создание предыдущих ссылок на количество дочернего элемента, а затем умножение его на количество текущего дочернего элемента таким образом, все дочерние элементы будут иметь неявную ссылку на своих родителей

  2
Author: junior, 2021-02-23 15:50:21