【问题标题】:generating mutlple buttons using while loops使用 while 循环生成多个按钮
【发布时间】:2019-11-08 13:03:07
【问题描述】:

我正在使用 php 中的 while 循环生成多个切换按钮,以在我的网站中隐藏和显示内容。如何确保单击其中一个不会全部打开。如何确保每一个都是独一无二的

我尝试循环按钮并为它们提供递增的 Id 和 names ,但我似乎无法弄清楚如何使用它来唯一地调用每个按钮。

<?php
$sql         = "SELECT * FROM users";
$result      = mysqli_query($conn, $sql);
$resultCount = mysqli_num_rows($result);

if ($resultCount > 0) {
    while ($row = mysqli_fetch_assoc($result)) {
        echo " <form method='GET'>";
        echo '<button type="submit" name="contact" class="btn btn-light btn-radius btn-brd grd1 " value="con">contact</button>';
        echo "</form>";
        $contact = $_GET['contact'];
        if ($contact == "con") {

            echo "<h3>cellphone: </h3>";
            echo "<p>" . $row['user_last'] . "</p>";
            echo "<h3>email: </h3>";
            echo "<p>" . $row['user_email'] . "</p>";
        }
        echo "</div>";
    }
}

?>

所以这段代码允许我创建多个按钮来隐藏一些文本,但是当我点击一个按钮时,所有按钮都被一次点击,我希望能够一次看到一个按钮隐藏的内容

【问题讨论】:

  • 您是使用 Jquery 还是纯 javascript 来隐藏/显示事件?

标签: javascript php loops button


【解决方案1】:

只需添加一个递增变量并将一个类/id 与该变量连接。

$i = 0;
if ($resultCount > 0) {
    while ($row = mysqli_fetch_assoc($result)) {
        echo " <form method='GET'>";
        echo '<button type="submit" name="contact" class="btn btn-light btn-radius btn-brd grd'.$i.'" value="con">contact</button>';
        echo "</form>";
        $i++;
    }
}

【讨论】:

    【解决方案2】:

    我会使用:

    $i = 0; 
    while ($row = mysqli_fetch_assoc($result)) { 
      echo " <form method='GET'>"; 
      echo '<button type="submit" name="contact' . $i . '" value="con">contact</button>';
      echo "</form>";
      $i++;
    }
    

    或者使用JS通过它的ID来隐藏。

    那就是:

    echo '<button id="'. $i .'" onclick="jsFunction(this)" name="contact" value="con">contact</button>';
    

    然后用JS函数隐藏div。

    【讨论】:

    • ``` if ($resultCount > 0) { while ($row = mysqli_fetch_assoc($result)) { echo "
      "; echo '';回声“
      ”; $i++; $contact=$_GET ['联系人']; if($contact==$i-1) { echo"

      手机:

      "; echo"

      ".$row['user_last']."

      ";回声“

      电子邮件:

      ”; echo "

      ".$row['user_email']."

      ";} echo "
      "; }``` 这是最终的代码。
    猜你喜欢
    • 1970-01-01
    • 2020-01-10
    • 2023-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-09
    相关资源
    最近更新 更多