doutangtan6386 2016-06-19 10:29
浏览 109
已采纳

将数据从MySQL数据库加载到HTML文本框

I am still learning, can anyone help me, What wrong in my code? I need to load when you click on the Load button program will search the database ID selected in the dropdown, and them bring the name .. etc and show it on textbox. Sorry, for my English.

<?php

        $servername = "localhost";
        $username = "estgv15592";
        $password = "estgv155922016";
        $dbname = "estgv15592";
        $conn = new mysqli($servername, $username, $password, $dbname);

        if ($conn->connect_error) {
            die("Connection failed: " . $conn->connect_error);
        } 


           if(isset($_POST["loadbtn"]))
        {

            $id = (integer) $_POST["id"];

            $query = "SELECT NOME, MORADA, PRECO FROM FICHA_DE_OBRA WHERE ID_FICHAOBRA = '$id' ";
            $result = mysqli_query($conn, $query);
            $details = mysql_fetch_array($result);

            $nome = $details["NOME"];
            $morada = $details["MORADA"];
            $preco = $details["PRECO"];
        }

        $sql = "SELECT * FROM FICHA_DE_OBRA";

        $result = mysqli_query($conn, $sql);

         echo '<form id="form" method="post">';
            echo "<select name ='id'>";
            echo "<option value=''>Selecione Número ficha Obra</option>";

            while($row = mysqli_fetch_array($result))

              {
              echo "<option value='" . $row['ID_FICHAOBRA'] . "'>" . $row['ID_FICHAOBRA'] . "</option>";
              }
              echo "</select>";

            $conn->close();
            ?> 


          <input type="submit" value="Load" name="loadbtn">
          <table width="300" border="0">
          <tr>
          <td>Name</td>
          <td><input type="text" name="upName" style="text-align:right" value="<?php echo $nome;?>"/></td>
        </tr>
         <tr>
          <td>Cost</td>
          <td><input type="text" name="upCost" style="text-align:right" value="<?php echo $morada;?>" /></td>
        </tr>
        <tr>
          <td>Active</td>
          <td><input type="text" name="upActive" style="text-align:right" value="<?php echo $preco;?>" /></td>
        </tr>
    </table>
</div>
<br/>

</form>

展开全部

  • 写回答

2条回答 默认 最新

  • dsp1836 2016-06-19 11:39
    关注

    You are not using proper php tag: (e.g. <?php echo $preco;?>):

    <tr>
      <td>Name</td>
      <td><input type="text" name="upName" style="text-align:right" value="<?php echo $nome; ?>"/></td>
    </tr>
    <tr>
      <td>Cost</td>
      <td><input type="text" name="upCost" style="text-align:right" value="<?php echo $morada; ?>" /></td>
    </tr>
    <tr>
      <td>Active</td>
      <td><input type="text" name="upActive" style="text-align:right" value="<?php echo $preco; ?>" /></td>
    </tr>
    

    Use mysqli_query and mysqli_fetch_array function and note that first argument in mysqli_query should be the connection object where you made the mistake:

    $result = mysqli_query($conn, $query);    // first PHP block
    $result = mysqli_query($conn, $sql);      // second PHP block
    
    $details = mysqli_fetch_array($result);   // first PHP block
    $row = mysqli_fetch_array($result)        // second PHP block
    

    And move below lines to the top of your first PHP block, or $conn would be undefined in your first PHP block:

    $servername = "localhost";
    $username = "estgv15592";
    $password = "your_password";
    $dbname = "estgv15592";
    $conn = new mysqli($servername, $username, $password, $dbname);
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部