首页 > 解决方案 > 如何在内部创建一个自动递增的 ID

  • 已经在while循环中的标签?
  • 问题描述

    这是我的代码:

    function buscarCategs() {
    
        global $con;
    
        $buscar_categ = "SELECT * FROM categorias";
    
        $run_categ = mysqli_query($con, $buscar_categ);
    
    
        while ($row_categs = mysqli_fetch_array($run_categ)) {
    
            $categ_id = $row_categs['categ_id'];
            $categ_titulo = $row_categs['categ_titulo'];
    
            echo "<li class='celulaCategoriasMenu' onmouseover='javascript:showMenu(); ' onmouseout='javascript:hideMenu();'>$categ_titulo</li><div id='linkMenuAbre' class='linkMenuAbre'>Teste</div>";
        }
    }
    

    那么,如何在这个“while”中创建一个循环,生成一个自动递增的 ID 以发布在“echo”上?

    例如:echo "<li id='idselector_1'></li>", echo "<li id='idselector_2'></li>",echo "<li id='idselector_3'></li>"

    我尝试使用 foreach 创建一个循环,但它不起作用。

    标签: phpmysqlsqlloopsmysqli

    解决方案


    添加一个$id在每个循环中递增的变量。

    function buscarCategs() {
    
        global $con;
    
        $buscar_categ = "SELECT * FROM categorias";
    
        $run_categ = mysqli_query($con, $buscar_categ);
    
        $id=1;
    
        while ($row_categs = mysqli_fetch_array($run_categ)) {
    
            $categ_id = $row_categs['categ_id'];
            $categ_titulo = $row_categs['categ_titulo'];
    
            echo "<li id=\"idselector_$id\" class='celulaCategoriasMenu' onmouseover='javascript:showMenu(); ' onmouseout='javascript:hideMenu();'>$categ_titulo</li><div id='linkMenuAbre' class='linkMenuAbre'>Teste</div>";
            $id++;
        }
    }
    

    推荐阅读