Autor Zpráva
Fastman
Profil
Dobrý den,

potřeboval bych od vás prosím poradit. Snažím se o to, abych dostal hodnoty z mysqli_fetch_assoc do array, ale stále na to nemůžu přijít. Zjednodušeně řečeno, mám udělaný random procentuální systém (od - do) a potřebuji, aby se veškeré tyto záznamy z databáze nahrály do array pole $arr. Následně se bude losovat random číslo a z toho vyjde nějaká hodnota (v mém případě ID).

<?php
        $db_event = $mysqli->query("SELECT id, percent_min, percent_max FROM event"); //Připravený dotaz na získání hodnot: id, percent_min, percent_max
        
        while ($db_event_row = mysqli_fetch_assoc($db_event)){
            $db_id = $db_event_row["id"];
            $db_percent_min = $db_event_row["percent_min"];
            $db_percent_max = $db_event_row["percent_max"];
        }

        $arr = array (
            //vzor: '5'  =>  array('min' => 25, 'max' => 50),
            //vzor: '2'  =>  array('min' => 50, 'max' => 70),
            
            $db_id    =>  array('min' =>  $db_percent_min, 'max' =>  $db_percent_max),
        );

        $rnd = rand(1,100);
        foreach($arr as $k =>$v) {
            if ($rnd > $v['min'] && $rnd <= $v['max']) {
                echo $k,"\n";
            }
        }
?>

Děkuji všem za odpověď.
Keeehi
Profil
A co to celé napsat takto?
$db_event = $mysqli->query("SELECT id, percent_min, percent_max FROM event");

$rnd = rand(1,100);
while ($row = mysqli_fetch_assoc($db_event)){
    if ($rnd > $row["percent_min"] && $rnd <= $row["percent_max"]) {
        echo $row["id"]."\n";
    }
}
Fastman
Profil
Takové řešení mě vůbec nenapadlo, máte pravdu, funguje to. Díky moc!

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: