簡體   English   中英

使用switch語句從數據庫調用:PHP

[英]Calling from a database using a switch statement: PHP

布局是塊/模塊化的,所以我需要將一個類應用於每個div。 問題是,當我在瀏覽器中預覽時,代碼循環再次從第一種情況開始-跳過了數據庫中的一項,並在情況1下顯示了下一項。

     $result = mysqli_query($connection, "SELECT * FROM products");
        $index = 1;
        while($row = mysqli_fetch_array($result)) {

        $float = "";

            switch ($index) {
                case 1: $float = "large-left";
                        echo "<div class=\"$float\"><img src=\"" . $row['product_imagepath'] . "\"/></div>";
                    break;
                case 2: $float = "mini-left";
                        echo "<div class=\"$float\"><img src=\"" . $row['product_imagepath'] . "\"/></div>";
                    break;
                case 3: $float = "mini-right";
                        echo "<div class=\"$float\"><img src=\"" . $row['product_imagepath'] . "\"/></div>";
                    break;
                case 4: $float = "mini-left";
                        echo "<div class=\"$float\"><img src=\"" . $row['product_imagepath'] . "\"/></div>";
                    break;
                case 5: $float = "mini-right";
                        echo "<div class=\"$float\"><img src=\"" . $row['product_imagepath'] . "\"/></div>";
                    break;
                case 6: $float = "large-right";
                        echo "<div class=\"$float\"><img src=\"" . $row['product_imagepath'] . "\"/></div>";
                    break;
                case 7: $float = "mini-left";
                        echo "<div class=\"$float\"><img src=\"" . $row['product_imagepath'] . "\"/></div>";
                    break;
                case 8: $float = "mini-right";
                        echo "<div class=\"$float\"><img src=\"" . $row['product_imagepath'] . "\"/></div>";
                    break;
                case 9: $float = "mini-left";
                        echo "<div class=\"$float\"><img src=\"" . $row['product_imagepath'] . "\"/></div>";
                    break;
                case 10: $float = "mini-right";
                        echo "<div class=\"$float\"><img src=\"" . $row['product_imagepath'] . "\"/></div>";
                    break;
                default: $index = 0;
                    break;
            };          

        $index++;
        };

        mysqli_close($result);
    ?>

任何建議/替代方法將不勝感激!

您給$ index作為1

$index = 1;

因此,每次都會轉到案例1。 它不是動態的。

如果我理解正確,則希望將10種產品“分組”

$result = mysqli_query($connection, "SELECT * FROM products");
$index = 1;
while($row = mysqli_fetch_array($result)) {
     if ($index % 10 == 1) {
         $float = 'large-left';
     }
     else {
         if($index % 2 == 1) {
             $float = 'mini-right';
         }
         else {
             $float = 'mini-left';
         }
     }
     echo '<div class="' . $float . '"><img src="' . $row['product_imagepath'] . '"></div>';
     $index++;
} 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM