2013-08-26 40 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

相關問題