Es Zusammengefasst ist ein Problem:die Werte von zwei Arrays in php
Nach Ausfüllen eines Formulars einreichen ich die indiziertes Array als SQL-Abfrage-Ergebnis erhalten und das Ziel ist, die jeweils nächste Array-Werte mit den Werten der vorher zusammenzufassen erhielt Arrays und setzen die Summen in Folge Array
Beispiel:
// 1st query result
$product_amount = [0 => 0.36,
1 => 0.14,
2 => 0.42]
// 2nd query result
$product_amount = [0 => 0.28,
1 => 0.12,
2 => 0.40]
// n-th query result
$product_amount = [0 => 0.16,
1 => 0.14,
2 => 0.42]
// the sum
$total = [0 => 0.80,
1 => 0.40,
2 => 1.24]
Wie es zu tun?
Der Code, der ein Array erstellt:
function doseCount($num){
return ($num/100) * intval($_POST['portion']); //getting multiplier for productAmount() function
}
function productAmount(){
global $link; //connection to the MySQL server
if(isset($_POST['product'])){
$product_amount_query = 'SELECT va.vitamin_a, va.vitamin_b1, va.vitamin_b2, va.vitamin_b3, va.vitamin_b5,
va.vitamin_b6, va.vitamin_bc_b9, va.vitamin_b12, va.vitamin_c, va.vitamin_d, va.vitamin_e, va.biotin, va.vitamin_k,
va.flavonoids, va.lipoic_acid FROM products_list p, vitamins_amount va WHERE p.id = va.product_id AND p.name = ?';
$product_amount_stmt = mysqli_prepare($link, $product_amount_query);
mysqli_stmt_bind_param($product_amount_stmt, "s", $_POST['product']);
mysqli_stmt_execute($product_amount_stmt);
$result = mysqli_stmt_get_result($product_amount_stmt);
$product = mysqli_fetch_array($result, MYSQLI_NUM);
return $product_final_result = array_map('doseCount', $product);
mysqli_stmt_close($product_amount_stmt);
mysqli_close($link);
}
}
$product_amount = productAmount();
Nach $ product_amount Array erhält neue Daten vorlegen und dieser neue Wert muss mit früheren summiert werden.
Wenn ich richtig bin; Sie sollten das überprüfen. Dies könnte Ihnen helfen. http://php.net/manual/en/class.multipleiterator.php –