【问题标题】:Changing css depending on SQL value根据 SQL 值更改 css
【发布时间】:2019-02-27 11:58:50
【问题描述】:

我是 php 和 jquery 的新手,我正在尝试创建一个网页,根据来自 Mysql 服务器的数据显示玩家及其状态。

基本代码有效,尽管代码是从多个 youtube 教程中拼凑而成的 :)

我想在玩家行的状态为或变为 0(死亡)时更改其不透明度。

这是我到目前为止的代码:

pagetest.php:

<!DOCTYPE html>
<html>
<head>
  <title>pagetest</title>
</head>
<body>
  <table id="show">
  <tr>
    <td>player</td>
    <td>status</td>
  </tr>
  </table>
  <script type="text/javascript" src="../jquery.js"></script>
  <script type="text/javascript">
    $(document).ready(function() {
      setInterval(function() {
        $('#show').load('test.php')
      }, 3000);
    });
  </script>
</body>
</html>

test.php:

<!DOCTYPE html>
<html>
<head>
<title>test</title>
</head>
<body>
  <?php

  $conn = mysqli_connect("myserver", "myuser", "mypass", "mydb");
  if ($conn-> connect_error) {
    die("Connection failed:". $conn->connect_error);
  }

  $sql = "SELECT player, status FROM mytable";
  $result = $conn->query($sql);

  if ($result-> num_rows > 0) {
    while ($row = $result->fetch_assoc()){
      echo "<tr><td>" . $row["player"] . "</td><td>" . $row["status"] . "</td></tr>";
    }
    echo "</table>";
  }
  else {
    echo "No game data available";
  }
  ?>
</body>
</html>

非常感谢您的帮助:)

【问题讨论】:

    标签: javascript php jquery html mysql


    【解决方案1】:

    有什么理由使用 jQuery 吗?如果没有,那么您可以使用此代码:

    <body>
     <?php
      $conn = mysqli_connect("host", "user", "password", "database");
      if ($conn-> connect_error) {
        die("Connection failed:". $conn->connect_error);
      }
    
      $sql = "SELECT player, status FROM mytable";
      $result = $conn->query($sql);
    
      if ($result-> num_rows > 0) {
       echo '<table id="show">
            <tr>
              <td>player</td>
              <td>status</td>
            </tr>';
    while ($row = $result->fetch_assoc()){
      $status = $row["status"];
      $player = $row["player"];
      echo "<tr style='" . ($status == 0 ? 'opacity: 0;' : '') . "'><td>" . $player . "</td><td>" . $status . "</td></tr>";
    }
    echo '</table>';
     }
    else {
      echo "No game data available";
    }
      ?>
    </body>
    

    【讨论】:

      【解决方案2】:

      你可以这样做:

      echo '<tr class="player-status-'.$row["status"].'"><td>'. $row["player"] .'</td><td>' . $row["status"] . '</td></tr>';
      

      $row["status"] 的基础上向tr 行添加一个类,这样渲染后您将拥有如下内容:&lt;tr class="player-status-0"&gt;&lt;td&gt;cristiano ronaldo&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;

      这样您就可以使用 css 为此类创建样式

      .player-status-0 {
        opacity: 
      }
      

      对了,有没有想过使用ajax并返回一个带有数据的json?

      【讨论】:

        猜你喜欢
        • 2021-04-25
        • 2018-01-24
        • 2017-01-01
        • 2017-09-15
        • 1970-01-01
        • 2014-11-18
        • 1970-01-01
        • 1970-01-01
        • 2020-06-18
        相关资源
        最近更新 更多