简体   繁体   English

While循环使用变量2次

[英]While loop use variable 2 times

Hello guys I got a for loop cicle that prints me divs and information from SQL, I print the slider fields with the settings on the mysql like, Slider number, Field postion and so on, the problem is I have a Modal Bootstrap to be printed aswell but I cant print it inside the currently loop . 大家好,我有一个for循环cicle,可以打印来自SQL的div和信息,我可以打印带有mysql上的设置的滑块字段,如滑块编号,字段位置等,问题是我有要打印的Modal Bootstrap还有,但是我不能在当前循环中打印它。 My question is, is there anyway to store a variable from a for cicle so it can be reutilized? 我的问题是,是否仍要从for cicle存储一个变量,以便可以重新使用它?

There is the code 有代码

 $ID=$row['ID']; $sql = "SELECT NUM_Slides as valmax FROM slider_settings,Paginas, slider_config where slider_settings.ID = $ID and Paginas.ID= $ID and slider_config.ID=$ID"; $sqlconnect =$connect->query($sql); $sqlresult =$sqlconnect->fetch_assoc(); for ($k = 1 ; $k <= $sqlresult['valmax']; $k++){ echo "<div class='slider1'>"; $sql1 = "SELECT P$k as campos, tituloP$k as titulo FROM slider_settings, Paginas,slider_config where slider_settings.ID = $ID and Paginas.ID= $ID and slider_config.ID = $ID"; $sqlconnect1 =$connect->query($sql1); $sqlresult1 =$sqlconnect1->fetch_assoc(); echo "<div class='titulo'> <h2>$sqlresult1[titulo]</h2> </div>"; for ($l = 1 ; $l <= $sqlresult1[campos]; $l++){ $campo = "SELECT Butao,Titulo,Texto FROM slider_config, Paginas, slider_settings where slider_config.ID = $ID and Paginas.ID = $ID and slider_settings.ID =$ID and P_NUM = $k and Campo = $l"; $sqlconnect2 = $connect->query($campo); $sqlresult2 = $sqlconnect2->fetch_assoc(); echo "<div class='part' id='part".$l."'> <div id='imagem' class='button' data-toggle='modal' data-target='#myModal".$l."'> <img src='data:image/png;base64," . base64_encode($sqlresult2['Butao']) . "'/> </div> <div id='titulo'> <h4>$sqlresult2[Titulo]</h4> </div> <div id='texto'> $sqlresult2[Texto] </div> </div>"; } echo "</div>"; } 

and There is the code that cant printed inside of the div or modal wont display 并且有无法在div或模式显示中显示的代码

 $modal = "SELECT Titulo_modal , Imagem_modal , Texto_modal FROM modal_settings , Paginas where modal_settings.ID = $ID and Paginas.ID= $ID and P_NUM_modal = $k and Campo_modal = $l"; $sqlconnect33 =$connect->query($modal); $sqlresult33 =$sqlconnect33->fetch_assoc(); for ($n = 1 ; $n <= $sqlresult1[campos]; $n++){ echo "<div class='modal fade' id='myModal".$n."'> <div class='modal-dialog modal-lg'> <div class='modal-content'> <div class='modal-header'> <h4 class ='titulopopup'>$sqlresult33[Titulo_modal]</h4> <button type='button' class='close' data-dismiss='modal'> <span aria-hidden='true'>&times;</span></button> </div> <div class='modal-body'> <div class='imagem'> <img src='data:image/png;base64," . base64_encode($sqlresult33['Imagem_modal']) . "'/> </div> <div class='texto'> $sqlresult33[Texto_modal] </div> </div> </div> </div> </div>"; } 

NOTE : the $ID is comming from another file :) and its work fine the first half of the code 注意:$ ID来自另一个文件:),它的工作在代码的前半部分都可以

maybe create array like that 也许像这样创建数组

$array = [];
for ($n = 1 ; $n <= $sqlresult1[campos]; $n++) {
    $array[$k] = $i;
}

this way u can reuse your var stored in array in other for loop like 这样,您可以在其他for循环中重复使用存储在数组中的var,例如

foreach ($array as $k => $i) {
    // and u get all your var :)
}

with your code u can do somethings like 用您的代码,您可以做类似的事情

$ID=$row['ID'];
// here
$array = [];
//
$sql = "SELECT NUM_Slides as valmax FROM slider_settings,Paginas, slider_config where slider_settings.ID = $ID and Paginas.ID= $ID
and slider_config.ID=$ID";
$sqlconnect =$connect->query($sql);
$sqlresult =$sqlconnect->fetch_assoc();
for ($k = 1 ; $k <= $sqlresult['valmax']; $k++){    
    echo "<div class='slider1'>";
        $sql1 = "SELECT P$k as campos, tituloP$k as titulo FROM slider_settings, Paginas,slider_config where slider_settings.ID = $ID and Paginas.ID= $ID and slider_config.ID = $ID";              
        $sqlconnect1 =$connect->query($sql1);
        $sqlresult1 =$sqlconnect1->fetch_assoc();
            echo "<div class='titulo'>
                <h2>$sqlresult1[titulo]</h2>
            </div>";
        for ($l = 1 ; $l <= $sqlresult1[campos]; $l++){ 
            // here
            $array[$k] = $l;
            $campo = "SELECT Butao,Titulo,Texto FROM slider_config, Paginas, slider_settings where slider_config.ID = $ID and Paginas.ID = $ID and slider_settings.ID =$ID and P_NUM = $k and Campo = $l";
            $sqlconnect2 = $connect->query($campo);
            $sqlresult2 = $sqlconnect2->fetch_assoc();

            echo "
            <div class='part' id='part".$l."'>
            <div id='imagem' class='button' data-toggle='modal' data-target='#myModal".$l."'>
            <img src='data:image/png;base64," . base64_encode($sqlresult2['Butao']) . "'/>
            </div>
            <div id='titulo'>
                <h4>$sqlresult2[Titulo]</h4>
            </div>
            <div id='texto'>
                $sqlresult2[Texto]
            </div>
            </div>";
        }   
    echo "</div>";
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM