doutangtan6386 2016-06-19 18:29
浏览 107
已采纳

将数据从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 19: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条)

报告相同问题?

悬赏问题

  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题