1

SQL1

$sql1 = "SELECT group_concat(Gericht_ID separator ',') as Gericht_ID FROM `warenkorb` WHERE Kunde_ID = '$kid'";
    $result = mysqli_query($con, $sql1);
    $row = mysqli_fetch_array($result);
    $gerid = $row["Gericht_ID"];
    print $gerid;

SQL2

$sql2 = "SELECT group_concat(warenkorb.Menge separator ',') AS Menge FROM warenkorb INNER JOIN enthaelt ON  warenkorb.Gericht_ID=enthaelt.Gericht_ID WHERE enthaelt.Gericht_ID IN($gerid) AND warenkorb.Kunde_ID='$kid'";
    $result = mysqli_query($con, $sql2);
    $row = mysqli_fetch_array($result);
    $gwmenge = $row["Menge"];       
    print $gwmenge; //i get here 1,1,1,1,3,3,3

SQL3

$sql3 = "SELECT group_concat(zutaten.Menge separator ',') as Menge FROM `zutaten` INNER JOIN enthaelt ON zutaten.Zutat_ID=enthaelt.Zutat_ID WHERE Gericht_ID IN($gerid)";
    $result = mysqli_query($con, $sql3);
    $row = mysqli_fetch_array($result);
    $gzmenge = $row["Menge"];
    print $gzmenge; //I get here 45,76,10,92,32,88,36

SQL4

$sql4 = "SELECT group_concat(Menge separator ',') as Menge FROM `enthaelt` WHERE Gericht_ID IN($gerid)";
    $result = mysqli_query($con, $sql4);
    //print $sql4;
    $row = mysqli_fetch_array($result);
    $gemenge = $row["Menge"];
    print `$gemenge` // I get here 3,1,2,2,3,2,1
    $mengetotal=$gwmenge*$gemenge;// here i want (1,1,1,1,3,3,3 *3,1,2,2,3,2,1) =3,1,2,2,9,6,3
    print $mengetotal;
    $mengezutaten =$gzmenge - $mengetotal;// here i want(45,76,10,92,32,88,36- 3,1,2,2,9,6,3)= 42,75,8,90,23,82,33
    print $mengezutaten;

How can i make this ? My code mybe is not right i am sorry for this. Can someone help me ? Thank you in advance.

  • what data type $gwmenge is? – Antonios Tsimourtos Jan 16 '17 at 09:36
  • @Tony it array , but i don't know if what i make is right, i don't know actually how to make it thats why i am asking for a help –  Jan 16 '17 at 09:37
  • can you please give me the output of this $gwmenge,$gemenge $mengetotal variable? – Faisal Jan 16 '17 at 09:49
  • i write there the output $gwmenge; //i get here 1,1,1,1,3,3,3 $gzmenge; //I get here 45,76,10,92,32,88,36 $gemenge // I get here 3,1,2,2,3,2,1 –  Jan 16 '17 at 09:51

2 Answers2

0
<?php

$gwmenge = [1,1,1,1,3,3,3];

$gzmenge = [45,76,10,92,32,88,36];

$gemenge = [3,1,2,2,3,2,1];


// $mengetotal
for($i = 0; $i < sizeof($gwmenge); $i++){

    $mengetotal[] = $gwmenge[$i] * $gemenge[$i];
}

//mengezutaten 

for($i = 0; $i < sizeof($gzmenge); $i++){
    $mengezutaten[] = $gzmenge[$i] - $mengetotal[$i]; 
}


print_r($mengetotal);
echo "<br/>";
print_r($mengezutaten);

?>

enter image description here

Antonios Tsimourtos
  • 1,676
  • 1
  • 14
  • 37
  • i get there Array ( [0] => 3 ) but i want here 3,1,2,2,9,6,3 Array ( [0] => 1 ) and here 42,75,8,90,23,82,33 –  Jan 16 '17 at 09:47
  • i understood but i want the all that numbers3,1,2,2,9,6,3 and 42,75,8,90,23,82,33 –  Jan 16 '17 at 09:54
  • You have those numbers..i don't get it. If it's about comma im out!! – Antonios Tsimourtos Jan 16 '17 at 09:58
  • the problem is that i get exactly $gwmenge = 1,1,1,1,3,3,3 without [] mybe this is the problem ? –  Jan 16 '17 at 10:16
0

Modified Tony Answers. Use implode() function on the final array.

<?php
$gwmenge = '1,1,1,1,3,3,3';
$gwmenge = explode(',',$gwmenge);

$gzmenge = '45,76,10,92,32,88,36';
$gzmenge = explode(',',$gzmenge);

$gemenge = '3,1,2,2,3,2,1';
$gemenge = explode(',',$gemenge);

// $mengetotal
for($i = 0; $i < sizeof($gwmenge); $i++){

    $mengetotal[] = $gwmenge[$i] * $gemenge[$i];
}

//mengezutaten 

for($i = 0; $i < sizeof($gzmenge); $i++){
    $mengezutaten[] = $gzmenge[$i] - $mengetotal[$i]; 
}


print_r(implode(',',$mengetotal));
echo "<br/>";
print_r(implode(',',$mengezutaten));

LIVE DEMO

In your code just change the code like below:

$sql4 = "SELECT group_concat(Menge separator ',') as Menge FROM `enthaelt` WHERE Gericht_ID IN($gerid)";
    $result = mysqli_query($con, $sql4);
    //print $sql4;
    $row = mysqli_fetch_array($result);
    $gemenge = $row["Menge"];
        $gwmenge = explode(',',$gwmenge);
        $gzmenge = explode(',',$gzmenge);
        $gemenge = explode(',',$gemenge);

       // $mengetotal
        for($i = 0; $i < sizeof($gwmenge); $i++){
            $mengetotal[] = $gwmenge[$i] * $gemenge[$i];
        }

        //mengezutaten  
        for($i = 0; $i < sizeof($gzmenge); $i++){
            $mengezutaten[] = $gzmenge[$i] - $mengetotal[$i]; 
        }

        $mengetotal = implode(',',$mengetotal);
        $mengezutaten = implode(',',$mengezutaten);
Faisal
  • 4,591
  • 3
  • 40
  • 49