试图在 html 文本字段中显示 mysql 数据

新手上路,请多包涵

我希望能够从我的网络浏览器查看和编辑表格中包含的信息,但是我终生无法将当前值提取到 html 文本字段。

任何人都可以阐明我对 php 很陌生吗?

表名:request_details

列名:id、name、email_address

我的 PHP 代码是:

 <?
$order = "SELECT * FROM request_details WHERE id='$id'";
$result = mysql_query($order);
$row = mysql_fetch_array($result);
?>

网页代码

<form method="post" action="edit_data.php">
  <input type="hidden" name="id" value="<?php echo "$row[id]"?>">
    <tr>
      <td>Name</td>
      <td>
        <input type="text" name="name" size="20" value="<?php echo "$row[name]"?>">
      </td>
    </tr>
    <tr>
      <td>Email Address</td>
      <td>
        <input type="text" name="email_address" size="40" value="<?php echo "$row[email_address]"?>">
      </td>
    </tr>
    <tr>
      <td align="right">
        <input type="submit"
      name="submit value" value="Edit">
      </td>
    </tr>
  </form>

让它更容易一点的权利,当我使用实际 ID 而不是它工作的变量时,例如

<?
  include "db.inc.php";//database connection
  $order = "SELECT * FROM request_details WHERE id='19'";
  $result = mysql_query($order);
  $row = mysql_fetch_array($result,MYSQL_ASSOC);
  ?>

上面有显示,下面没有

<?
  include "db.inc.php";//database connection
  $order = "SELECT * FROM request_details WHERE id='$id'";
  $result = mysql_query($order);
  $row = mysql_fetch_array($result,MYSQL_ASSOC);
  ?>

好的,那么前提是我有两个网页,第一个显示我需要的所有信息

代码是:

 <table>
    <tr>
        <td>
            <table border="1">
                <tr>
                    <td>Name</td>
                    <td>Telephone Number</td>
                    <td>Email Address</td>
                    <td>Venue</td>
                    <td>Event Date</td>
                    <td>Guests</td>
                    <td>Chair Cover Colour</td>
                    <td>Sash Colour</td>
                    <td>Price</td>
                    <td>Damage Deposit</td>
                    <td>Status</td>
                    <td>Notes</td>
                </tr>
                <tr>

                    <?
                    $order = "SELECT * FROM request_details";
                    $result = mysql_query($order);
                    while ($row=mysql_fetch_array($result)){

                    echo ("<tr><td>$row[name]</td>");
                    echo ("<td>$row[telephone_number]</td>");
                    echo ("<td>$row[venue]</td>");
                    echo ("<td>$row[event_date]</td>");
                    echo ("<td>$row[guests]</td>");
                    echo ("<td>$row[cover_colour]</td>");
                    echo ("<td>$row[sash_colour]</td>");
                    echo ("<td>$row[price]</td>");
                    echo ("<td>$row[damage_deposit]</td>");
                    echo ("<td>$row[notes]</td>");
                    echo ("<td><a href=\"edit_form.php?id=$row[id]\">View</a></td></tr>");
                    }
                    ?>
            </table>
        </td>
    </tr>
</table>

当我点击查看时,它会将我带到以下网址:

edit_form.php?id=1

例如

edit_form.php?id=19

此页面的代码(信息未显示在文本字段中):

 <table border=1>
    <tr>
        <td>
            <table>

                <?
                $order = "SELECT * FROM request_details WHERE id='$id'";
                $result = mysql_query($order);
                $row = mysql_fetch_array($result,MYSQL_ASSOC);
                ?>

                <form method="post" action="edit_data.php">
                    <tr>
                    <input type="hidden" name="id" value="<?php echo $row['id']; ?>" />
                    <tr>
                        <td>Name</td>
                        <td>
                            <input type="text" name="name" size="20" value="<?php echo $row['name']; ?>">
                        </td>
                    </tr>
                    <tr>
                        <td>Email Address</td>
                        <td>
                            <input type="text" name="email_address" size="40"
                                   value="<?php echo $row['email_address']; ?>">
                        </td>
                    </tr>
                    <tr>
                        <td align="right">
                            <input type="submit" name="submit value" value="Edit">
                        </td>
                    </tr>
                </form>
            </table>
        </td>
    </tr>
</table>

原文由 user2717967 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 237
1 个回答

我对孔代码进行了更正并且有效

<html>
<head>
<title>PAGE Edit</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<table>
  <tr>
    <td align="center">EDIT DATA</td>
  </tr>
  <tr>
    <td>
      <table border="1">
      <?php
      include"db.inc.php";//database connection
      $order = "SELECT * FROM data_employees";
      $result = mysql_query($order);
      while ($row=mysql_fetch_array($result)){
      // Print "<th>Name:</th> <td>".$data['user'] . "</td> ";
        echo ("<tr><td>".$row['name']."</td>");
        echo ("<td>".$row['employees_number']."</td>");
        echo ("<td>".$row['address']."</td>");
        echo ("<td><a href=edit_form.php?id=".$row['employees_number'].">Edit</a></td></tr>");
      }
      ?>
      </table>
    </td>
   </tr>
</table>
</body>
</html>

第二部分:调用 edit_form.php 进行编辑

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Form Edit Data</title>
</head>

<body>
<table border=1>
  <tr>
    <td align=center>Form Edit Employees Data</td>
  </tr>
  <tr>
    <td>
      <table>
      <?php
      $id=$_GET['id'];

      include "db.inc.php";//database connection
      $order = "SELECT * FROM data_employees
where employees_number='$id'";
      $result = mysql_query($order);
      $row = mysql_fetch_array($result);
      ?>
      <form method="post" action="edit_data.php">
      <input type="hidden" name="id" value="<?php echo "$row[employees_number]"?>">
        <tr>
          <td>Name</td>
          <td>
            <input type="text" name="name"
        size="20" value="<?php echo "$row[name]"?>">
          </td>
        </tr>
        <tr>
          <td>Address</td>
          <td>
            <input type="text" name="address" size="40"
          value="<?php echo "$row[address]"?>">
          </td>
        </tr>
        <tr>
          <td align="right">
            <input type="submit"
          name="submit value" value="Edit">
          </td>
        </tr>
      </form>
      </table>
    </td>
  </tr>
</table>
</body>
</html>

最后调用 edit_Data.php 更新数据表

<?php
//edit_data.php
$name=$_POST['name'];
$address=$_POST['address'];
$id=$_POST['id'];
include "db.inc.php";
$order = "UPDATE data_employees
          SET name='$name',
              address='$address'
          WHERE
          employees_number='$id'";
mysql_query($order);
header("location:edit.php");
?>

我希望现在清楚了! :D

原文由 user3524093 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题