首页 > 解决方案 > echo 在页面源中而不是在页面上显示输出

问题描述

我在 php 中制作了一个表格,并希望通过为 php.ini 制作一个单独的文件来在下拉选择菜单中显示 ID。所以主文件中的代码是:

<?php include "functions.php";?>
<form action="login_update.php" method="post">
            <div class="form-group">
            <label for="username">username</label>
            <input type="text" name="username" class="form-control">
            </div>

            <div class="form-group">
            <label for="password">password</label>
            <input type="password" name="password" class="form-control">
            </div>

           <div class="form-group">
               <select name="id" id="">
                   <?php  

                        showAllData();
                   echo "<br>"."askfkldfjl;adfafladfdf";
                    ?>
               </select>
           </div>

            <input class="btn btn-primary" type="submit" name="submit" value="update">
       </form>

functions.php 的代码是:

<?php 

function showAllData(){


    $connection = mysqli_connect('localhost','root','****','loginapp');
    if($connection){
        echo "We are connected. a=".$a."<br>";
    }else{
        die("Database connection failed");
    }
    $query = "SELECT * FROM users";
    $result = mysqli_query($connection,$query);
    if($result){
        echo("<br>"." <b><h6>We are successful</h6></b>");
    }
    else {        
        die("Query FAILED" . mysqli_error());
    }
    while($row = mysqli_fetch_assoc($result))  {
      $id = $row["id"];

      echo"<option value='$id'>$id</option>";


    }


}
?>

预期的输出是: 在此处输入图像描述

但输出是: 在此处输入图像描述

所以上面截图中的前两行没有打印。

这些行显示在 chrome 中的 INSPECT ELEMENT 中。

在此处输入图像描述

我忘了提到 echo 命令:

echo "<br>"."askfkldfjl;adfafladfdf";

下面显示所有数据也不起作用。

标签: php

解决方案


你犯了一个错误。实际上你在选择框中写了一个代码并且你没有添加选项,所以这就是为什么它没有显示在 html 中所以写一个像下面的代码这样的代码,所以它作为选项显示在选择框中。

<div class="form-group">
               <select name="id" id="">
                  <option> <?php  

                        showAllData();
                   echo "<br>"."askfkldfjl;adfafladfdf";
                    ?></option>
               </select>
           </div>

如果你想从showAllData();函数中显示选项,你必须返回 html。

为此,请showAllData();使用以下代码更新您的函数:

function showAllData(){
     $options="";

    $connection = mysqli_connect('localhost','root','****','loginapp');
    if($connection){
        echo "We are connected. a=".$a."<br>";
    }else{
        die("Database connection failed");
    }
    $query = "SELECT * FROM users";
    $result = mysqli_query($connection,$query);
    if($result){
        echo("<br>"." <b><h6>We are successful</h6></b>");
    }
    else {        
        die("Query FAILED" . mysqli_error());
    }
    while($row = mysqli_fetch_assoc($result))  {
      $id = $row["id"];

      $options.="<option value='$id'>$id</option>";


    }
    return $options;

}

推荐阅读