doufu1939 2014-08-29 06:39
浏览 35

使用switch语句从数据库调用:PHP

The layout is block/modular so I need to apply a class to each of the divs. Issue is that when I preview in browser, after the code loops to begin at case 1 again - it skips one of the items from the db and displays the next item as case 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);
    ?>

Any recommendations/alternative methods would be greatly appreciated!

  • 写回答

2条回答 默认 最新

  • duanhe3393 2014-08-29 06:42
    关注

    You given $index as 1

    $index = 1;
    

    So, it will go to case 1 every time. Its not dynamic.

    评论

报告相同问题?

悬赏问题

  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?