PhpDude
PhpDude

Reputation: 1598

Show lowest value in a select

I am trying to get 1 result of the lowest value from a set. So I have a set of number (averages) i just need to show the lowest one of the set:

            if ($danresult->num_rows > 0) {
                while($row = $danresult->fetch_assoc()) {

                    $score1 = $row["score_1"];
                    $score2 = $row["score_2"];
                    $score3 = $row["score_3"];
                    $score4 = $row["score_4"];
                    $score5 = $row["score_5"];
                    $score6 = $row["score_6"];
                    $score7 = $row["score_7"];
                    $score8 = $row["score_8"];

                    $sum = $score1 + $score2 + $score3 + $score4 + $score5 + $score6 + $score7 + $score8;
                    $totalAverage = $sum / 8;

                    $totalAverages[] = $totalAverage;

                    $index = min($totalAverages);

                    echo $index . '<br>';

                }
            }

I have been trying to use the php min() function to no avail!

My results would typically be like 2, 2.75, 3, 3.35 etc.. so I just need to show the lowest of the set. so like 2 from the set above.

Upvotes: 2

Views: 119

Answers (2)

takethefake
takethefake

Reputation: 805

you could add all values to an array and use the array functions to determine the winner

if ($danresult->num_rows > 0) {
    while($row = $danresult->fetch_assoc()) {
        $scores=array(
            $row["score_1"],
            $row["score_2"],
            $row["score_3"],
            $row["score_4"],
            $row["score_5"],
            $row["score_6"],
            $row["score_7"],
            $row["score_8"]
        );
        $sum= array_sum ($scores);
        $totalAverage = $sum / count($scores);
        $min=min($scores);

        $winner=array_search($min, $scores);
     }
}

Upvotes: 3

Lukas Vosylius
Lukas Vosylius

Reputation: 52

Try this, you need to close foreach...then get a lowest value from array

if ($danresult->num_rows > 0) {
            while($row = $danresult->fetch_assoc()) {

                $score1 = $row["score_1"];
                $score2 = $row["score_2"];
                $score3 = $row["score_3"];
                $score4 = $row["score_4"];
                $score5 = $row["score_5"];
                $score6 = $row["score_6"];
                $score7 = $row["score_7"];
                $score8 = $row["score_8"];

                $sum = $score1 + $score2 + $score3 + $score4 + $score5 + $score6 + $score7 + $score8;
                $totalAverage = $sum / 8;

                $totalAverages[] = $totalAverage;
                }
                $index = min($totalAverages);
                echo $index . '<br>';
          }

Upvotes: 1

Related Questions