php while($result=mysqli_fetch_array($data))循环结果赋值到div id,并用js控制div的显示、隐藏

PHP 从数据库查询出来的数据循环放入div,并将div id按照数据结果分别命名。通过JS点击触发显示对应ID的div。
现在问题是多个div时,点击button只能控制显示最后一个div

 while($result=mysqli_fetch_array($data)){
     echo '<div id="'.$result[case_num].'">'.$result[case_num].'</div><button onClick="javascript: showDiv()">详情</button> ';
     echo '<div id="$result[case_num]" >哈哈哈哈哈哈</div>';
     ?>
     <script language="javascript">
    var details = document.getElementById("<?php echo $result[case_num];?>");
    details.style.display = "none";
    function showDiv() {
    if(details.style.display == "block")
        details.style.display = "none";
    else
        details.style.display = "block";
    }
    </script>
    <?php } ?>

内容你找到链接,为什么id就不知道字符串连接。。

 while($result=mysqli_fetch_array($data)){
     echo '<div id="'.$result[case_num].'">'.$result[case_num].'</div><button onClick="javascript: showDiv(\''.$result[case_num].'\')">详情</button> ';
     echo '<div id="'.$result[case_num].'" >哈哈哈哈哈哈</div>';


        js
        function showDiv(id){
        alert(id)
        }

$result[case_num]你这个是什么内容,如果一样的要连接一个自增的变量变唯一来,其他的id也一样,还有showDiv传参的

  echo '<div id="'.$result[case_num].'" >哈哈哈哈哈哈</div>';这个是详细的话,要和上面的那个id搞不一样,加个前缀什么的

php有时候引号里面的变量是不起作用的,echo '

哈哈哈哈哈哈
';就像你代码里的id现在的值可能是$result[case_num] 不过不要想错了他不是变量就是一个 值 。所以首先你的像楼上说的使用字符串连接

刚才发的复制代码没了

 echo '<div id="$result[case_num]" >哈哈哈哈哈哈</div>';