【问题标题】:How to dynamically change content in HTML based on php database values? [duplicate]如何根据 php 数据库值动态更改 HTML 中的内容? [复制]
【发布时间】:2017-10-23 03:28:15
【问题描述】:

我有这个带有 PHP (mysql) 后端的基于 Web 的应用程序。我有一个页面可以输入在特定事件中获得的成绩和职位。仅当之前未输入复选框时,我才需要页面显示复选框(用于成绩)。所以我的数据库中有 P1 列,如果为 NULL,我需要显示复选框。

这就是我在 php 方面所拥有的

<?php
$PID = (int)$_GET['PID'];
$con = new mysqli("localhost","my_user","my_password",'events');
$result = $con->query("SELECT * FROM eventlist WHERE Eid=$PID");
global $output;
$row =  $result->fetch_assoc();
echo '<h1>'.$row["Ename"].'</h1>';
if($row["P1"]==NULL)
?>

而我需要在P1中显示的是NULL如下

<h2>Slot 1</h2>
<h3>Enter Result</h3>
<div id="c1" class="radio">
  <label><input type="radio" name="opt1radio" value=30>First</label>
  <label><input type="radio" name="opt1radio" value=20>Second</label>
  <label><input type="radio" name="opt1radio" value=10>Third</label>
</div>
<h3>Enter Grade</h3>
<div id="c2" class="radio">
  <label><input type="radio" name="opt2radio" value=5>A</label>
  <label><input type="radio" name="opt2radio" value=4>B</label>
  <label><input type="radio" name="opt2radio" value=3>C</label>
  <label><input type="radio" name="opt2radio" value=2>D</label>
  <label><input type="radio" name="opt2radio" value=0>DQ</label>
</div>
<div id="submit">
  <button onclick="myFunction()" type="button" class="btn btn-success">Submit</button>
</div>

如果不在每一个 HTML 行中添加 echo,我该如何做到这一点。

【问题讨论】:

    标签: php html mysql web


    【解决方案1】:

    我认为您缺少的唯一想法是一一检索所有行,您可以使用:while ($row = $result-&gt;fetch_assoc()) { 进行操作,然后将所有代码如下:

    <?php
     $PID = (int)$_GET['PID'];
        $con = new mysqli("localhost","my_user","my_password",'events');
        $result = $con->query("SELECT * FROM eventlist WHERE Eid=$PID");
        global $output;
        while ($row = $result->fetch_assoc()) {
        echo '<h1>'.$row["Ename"].'</h1>';
        if($row["P1"]==NULL){
      ?>
    
    <h2>Slot 1</h2>
        <h3>Enter Result</h3>
        <div id="c1" class="radio">
          <label><input type="radio" name="opt1radio" value=30>First</label>
    
          <label><input type="radio" name="opt1radio" value=20>Second</label>
    
          <label><input type="radio" name="opt1radio" value=10>Third</label>
        </div>
    
       <h3>Enter Grade</h3>  
       <div id="c2" class="radio">
          <label><input type="radio" name="opt2radio" value=5>A</label>
    
          <label><input type="radio" name="opt2radio" value=4>B</label>
    
          <label><input type="radio" name="opt2radio" value=3>C</label>
    
          <label><input type="radio" name="opt2radio" value=2>D</label>
    
           <label><input type="radio" name="opt2radio" value=0>DQ</label>
        </div>
        <div id="submit">
    
          <button onclick="myFunction()" type="button" class="btn btn-success">Submit</button>
        </div>
    <?php } }?>
    

    尽管如此,您的代码只会显示第一个结果。

    希望对你有帮助!

    【讨论】:

      【解决方案2】:

      你可以试试这个。如果您不想使用echo,只需将html 括在if 中,而不要将html 包括在php 区域中

      <?php
       $PID = (int)$_GET['PID'];
          $con = new mysqli("localhost","my_user","my_password",'events');
          $result = $con->query("SELECT * FROM eventlist WHERE Eid=$PID");
          global $output;
          $row =  $result->fetch_assoc();
          echo '<h1>'.$row["Ename"].'</h1>';
          if($row["P1"]==NULL){
        ?>
      
      <h2>Slot 1</h2>
          <h3>Enter Result</h3>
          <div id="c1" class="radio">
            <label><input type="radio" name="opt1radio" value=30>First</label>
      
            <label><input type="radio" name="opt1radio" value=20>Second</label>
      
            <label><input type="radio" name="opt1radio" value=10>Third</label>
          </div>
      
         <h3>Enter Grade</h3>  
         <div id="c2" class="radio">
            <label><input type="radio" name="opt2radio" value=5>A</label>
      
            <label><input type="radio" name="opt2radio" value=4>B</label>
      
            <label><input type="radio" name="opt2radio" value=3>C</label>
      
            <label><input type="radio" name="opt2radio" value=2>D</label>
      
             <label><input type="radio" name="opt2radio" value=0>DQ</label>
          </div>
          <div id="submit">
      
            <button onclick="myFunction()" type="button" class="btn btn-success">Submit</button>
          </div>
      <?php }?>
      

      【讨论】:

      • 如果有效,请接受答案,以便其他人知道什么对 OP 有效。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-30
      • 1970-01-01
      • 2016-04-01
      • 1970-01-01
      • 2015-11-02
      • 2013-05-29
      • 2020-04-11
      相关资源
      最近更新 更多