dpdfh60088 2018-10-10 18:26
浏览 111

列出字母a到z只产生第一个字母a

I have the following code where I try to print alphabets from a to z in the first column. but I only get the letter "a" is printed through the entire column.

function print_table_tb ($conn, $id) {
    $sql = "SELECT stata,statb,statc FROM dbA";
    $result = $conn->query($sql);
    if ($result->num_rows > 0) {
        echo "<table class='tbr' id='tb$id'>";
        while($row = $result->fetch_assoc()) {
            $data = array_reduce($row, function($carry, $value) {
                $carry[] = "<td dbval='{$value}'>{$value}</td>";
                return $carry;
            }, []);

            $range = range('a', 'z');
            $i = 0;

            echo '<tr><td class="tbe">'.$range[$i++ % 26].'</td>'. implode('', $data) . "</tr>
" ;

        }

        echo "</table>";
    }
}  

What am I doing wrong here? thanks for your help! My question is different. I don't seek a solution to get alphabetical listing, I have the solution, but I couldn't fix an error.

I tried this but it doesn't work either.

function print_table_tb ($conn, $id) {
    $sql = "SELECT stata,statb,statc FROM dbA";
    $result = $conn->query($sql);
    if ($result->num_rows > 0) {

        $range = array("a", "b", "c", "d");
        $i = 0;

        echo "<table class='tbr' id='tb$id'>";
        while($row = $result->fetch_assoc()) {
            $data = array_reduce($row, function($carry, $value) {
                $carry[] = "<td dbval='{$value}'>{$value}</td>";
                return $carry;
            }, []);


            echo '<tr><td class="tbe">' . $range[$i] . '</td>'
                . implode('', $data) . "</tr>
" ;
            $i++;    
        }

        echo "</table>";
    }
}  
  • 写回答

1条回答 默认 最新

  • dtsc1684 2018-10-10 18:43
    关注

    Try this

    $range = range('a', 'z');
     $i = 0;  
     echo "<table class='tbr' id='tb$id'>";
        while($row = $result->fetch_assoc()) {
            $data = array_reduce($row, function($carry, $value) {
                $carry[] = "<td dbval='{$value}'>{$value}</td>";
                return $carry;
            }, []);
            $temp = ($i % 26);
            $i++;
            echo '<tr><td class="tbe">'.$range[$temp].'</td>'. implode('', $data) . "</tr>
    " ;
    
      }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?