将数组设置回第一个mysqli结果

时间:2018-04-23 11:27:29

标签: php for-loop mysqli

我试图在获取mysql结果后将数组返回到第一个状态。 Mysql结果给出了30到110之间的数字。

在for循环之后,如果在110之后没有更多数字,我试图将数组设置回30 (或索引0)。有没有办法设置这个? 我也尝试设置为0,但它什么也没给我。

$uzmi_podstanice = "SELECT  *  FROM objekt WHERE vrsta_objekta = '2' ORDER BY sifra ASC";
                    $pronasao_sve_podstanice = $db->query($uzmi_podstanice);
                    while($rowss = $pronasao_sve_podstanice->fetch_assoc()) {
                        $svaka_sifra[] = $rowss['sifra'];
                    }


$pocetni_datum_vrti = new DateTime($sutrasnji_datum);
$zavrsni_datum_vrti = new DateTime($datum_prestanka);
$x = 0;
$i = 0;
$kkk = 0;
$hhh = 0;

for($q = $pocetni_datum_vrti; $q <= $zavrsni_datum_vrti; $q->modify('+1 day')){
                    $rezultat_datuma = $q->format("Y-m-d");

    for ($i=0; $i < $podstanice_prijepodne; $i++) { 
        if(isset($svaka_sifra[$kkk])){ // kontroliraj postoji li taj broj podstanice
            if($podstanice_prijepodne >= $i) {


                $values = "('$rezultat_datuma', '$svaka_sifra[$kkk]')PRIJEPODNE" . "<br />";
                $kkk++;
                echo $values;
            } else {
                break;
            }
        } else { //IF THERE IS MORE NUMBERS AFTER 110 CONTROLE THIS
            // trying to set $svaka_sifra to index 0 back
        }
    }

    for ($x=0; $x < $podstanice_poslijepodne; $x++) {
        if(isset($svaka_sifra[$kkk])){
            if($podstanice_poslijepodne >= $x) {

                $values2 = "('$rezultat_datuma', '$svaka_sifra[$kkk]')POSLJEPODNE" . "<br />";
                $kkk++;
                echo $values2;
            } else {
                break;
            }
        } else { // IF THERE IS MORE NUMBERS AFTER 110 CONTROLE THIS
            echo "no more results"; // trying to set $svaka_sifra to index 0 back
        }
    }

}

这应该适用于每个日期,我试图控制它回到循环,设置它从头开始..

1 个答案:

答案 0 :(得分:2)

您无法将数组变量$ svaka_sifra设置为0,因为您将覆盖变量值。

您只需将索引值(在您的情况下为$ kkk)更改为零。

$kkk = 0