Я вычисляю в PHP с помощью условия
Хорошо у меня есть следующий код, где я вычисляю количество деталей, необходимых для выполнения продукта. Я должен выполнить следующую формулу, item 2 у вас есть дети, поэтому дети зависят от количества этого родителя.
но у меня есть следующий вопрос, когда у ребенка родителя есть дети, мне нужно взять количество этого + количество матери.
У меня есть следующий код, где я различаю рецепт. Но вычисление я не могу сделать
$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>";
}
Если я выполню этот код, я получу следующий результат, извините количество фотографий и Заголовок.
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]
Что делает этот алгоритм, так это создание предыдущих ссылок на количество дочернего элемента, а затем умножение его на количество текущего дочернего элемента таким образом, все дочерние элементы будут иметь неявную ссылку на своих родителей