【问题标题】:How to echo button with onclick function using foreach and condition in php?如何在 php 中使用 foreach 和条件回显带有 onclick 功能的按钮?
【发布时间】:2021-03-11 02:35:55
【问题描述】:

预期:

从我的 SQL 中选择数据。 Foreach 回显数据和按钮。 当数据为空时,显示带有onclick功能的“加入”按钮。 当数据“join”时,隐藏带有onclick功能的“join”按钮,显示带有onclick功能的“结果”按钮。

结果:

不能隐藏带有onclick功能的“加入”按钮,显示带有onclick功能的“结果”按钮。

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<?php
    
         $servername = "localhost";
         $username = "root";
         $password = "";
         $dbname = "battle";
        try {
            $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
            $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
            $stmt = $conn->prepare("SELECT * FROM battleRecord Group by id");
            $stmt->execute();
            $stmt->setFetchMode(PDO::FETCH_ASSOC);
                                        
            foreach ($stmt->fetchAll() as $row) {
              if ($row['participation'] == 'joined') {
                $displayJoin = 'none';
                $displayResult = 'block';
            } else {
                $displayJoin = 'block';
                $displayResult = 'none';
            }
               ?>

              <tr>
              <td style='width:150px;border:1px solid black;'>                                
              <p><?php echo $row['id']?></p>
            
              </td>  
              <td style='width:150px;border:1px solid black;'>                                
              <button style="display:<?php echo $displayJoin ?>" id="joinBattle" onclick="joinBattle(<?php echo htmlspecialchars($row['id']) ?>)">joinbattle</button>
              
              <button style="display:<?php echo $displayResult ?>" id="checkResult" onclick="checkResult(<?php echo htmlspecialchars($row['result']) ?>)">result</button>
              
              </td>  
              </tr>
                                                
              <?PHP

                }
                } catch (PDOException $e) {
                  echo "Error: " . $e->getMessage();
                }
                  $conn = null;
                  
                   ?>

   
    </body>
    </html>

结果和Mysql

MySQL part 1

MySQL part 2

Result

View Source

【问题讨论】:

  • 已更改。希望您也可以帮助我解决使用 foreach 和条件的回显按钮。非常感谢。

标签: javascript php css button foreach


【解决方案1】:

您永远不会将$displayJoin 设置为block。使用这个:

if ($row['participation'] == 'joined') {
    $displayJoin = 'none';
    $displayResult = 'block';
} else {
    $displayJoin = 'block';
    $displayResult = 'none';
}

【讨论】:

  • 我之前尝试过你的方法,但系统同时显示“加入”按钮和“结果”按钮 when($row['participation'] == 'joined' .
  • 我不明白这是怎么回事。
  • 确保您删除了所有分配这些变量的原始代码。
  • 当然。我只是使用上面的代码进行测试。结果显示两个按钮。我上传了图片,请查收。谢谢。
  • 您的编辑显示$row["battlefield_empireParticipation"])=="none",但代码显示$row['participation']。是哪个?
猜你喜欢
  • 2018-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-23
  • 2016-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多