2013-08-26 43 views
3

我希望能够从我的Web浏览器中查看和编辑表中包含的信息,但是我无法为我的生活获取当前值,一个html文本字段。试图在html文本字段中显示mysql数据

任何人都可以摆脱任何光,因为即时通讯相当新的PHP?

表名:request_details

列名:编号,名称,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

该页面的代码(其中信息ISN” t显示在文本字段中):

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

你打开了错误报告吗?你有任何错误?您已经采取了哪些故障排除步骤来确定问题? –

+2

我想你忘记了行索引名称周围的引号.. $ row [“name”] not $ row [name] –

+2

你的代码特别容易受到攻击。你真的应该调查PDO(http://php.net/manual/en/book.pdo.php)并准备好陈述。这就好比让你的车窗开着,而把你的贵重物品留在车里去工作。 – Fluffeh

回答

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'] ; 
+0

仍然没有喜悦,但是谢谢你的建议 – user2717967

+0

@ user2717967那么问题不在这里,这就是你如何从数据库中回显值。我猜你的问题在你的查询中的'$ id'中。你是否试图回应它,看看它是否有价值? –

+0

我试图只回声和显示​​标记,但没有喜悦那里,所以即时通讯假设它是一件很简单的事情,我错过了 – user2717967

0

你可以这样做:

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

改变你的PHP代码

$ row = mysql _fetch_array($结果,MYSQL_ASSOC);

也改变了HTML代码与以下行类似

<input type="hidden" name="id" value="<?php echo $row['id'] ;?>" /> 
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']; ?>"> 

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

你的代码真的很混乱顺便说一句。尝试使用适当的语法正确地放下它。 (不要忘记;变量后面)

0

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

都需要这样写查询:

$order = "SELECT * FROM request_details WHERE id='$_GET[id]'"; 
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更新数据表

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

相关问题