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

时间:2013-08-26 12:04:35

标签: php 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);
?>

HTML代码

<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>

6 个答案:

答案 0 :(得分:0)

像那样做

   <input type="hidden" name="id" value="<?php echo $row['id'] ;?>" />

  <input type="text" name="name" size="20" value="<?php echo $row['name']; ?>" />

  <input type="text" name="email_address" size="40" value="<?php echo $row['email_address']; ?>" />

编辑;

很遗憾地说你的代码是灾难性的并且搞砸了。许多错误我无法解决所有问题。任何方式都可以将你的行改为这一行。

     echo "<td><a href=\"edit_form.php?id=$row['id']\">View</a></td></tr>"; 

并在查询此行之前在文件中添加显示编辑页面

  $id = $_GET['id'] ;

答案 1 :(得分:0)

你可以这样做:

<input type="text" name="email_address" size="40" value="<?=$row['email_address']?>">

答案 2 :(得分:0)

将您的PHP代码更改为

  

$ row = mysql_fetch_array($ result,MYSQL_ASSOC);

同时更改HTML代码,如下一行

    <input type="hidden" name="id" value="<?php echo $row['id'] ;?>" />

答案 3 :(得分:0)

您的代码不完整,它错过了行调用中的定义。它不知道$ row [name],因为变量应该用引号定义。

<input type="text" name="name" size="20" value="<? echo $row['name']; ?>">
<input type="text" name="email_address" size="40" value="<? echo $row['email_address']; ?>">

接下来,您将引用一个不需要的变量。变量根本不需要引用。你正确引用了值类型,双引号没有意义。

你的代码真的很麻烦btw。尝试使用适当的语法正确地将其正确放下。 (别忘了;在变量后面)

答案 4 :(得分:0)

如果您的网址是edit_form.php?id = 19

您需要编写如下查询:

$order = "SELECT * FROM request_details WHERE id='$_GET[id]'";

答案 5 :(得分:0)

我对孔代码进行了更正并且可以正常工作

<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来更新DATA TABLE

<?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