2012-05-31 35 views
0

我所試圖做的事:從MySQL數據庫 裝載數據的表編輯按鈕。PHP如何添加里面的一張桌子和加載數據編輯按鈕編輯形式

發生了什麼問題: 點擊編輯按鈕時,它不會加載編輯表單上的數據。

我試過的東西: 我試過下面的代碼在家裏在Firefox上,它的工作完美。但在工作中,它無法在編輯窗體中將數據加載到Firefox中,並且在IE中單擊該按鈕不會執行任何操作。

<?php 
echo '<table id="viewAll">'; 
      echo '<tr>'; 
      echo '<th>Product</th>'; 
      echo '<th>Status</th>'; 
      echo '<th>Summary</th>'; 
      echo '<th>Created</th>'; 
      echo '<th>Updated</th>'; 
      echo '<th>Edit</th>'; 

      echo '</tr>'; 


      while ($data=mysqli_fetch_array($result)){ 

      echo '<tr align="center"> 

      <td>'.$data['product'].'</td> 
      <td>'.$data['status'].'</td> 
      <td align="left">'.$data['summary'].'</td> 
      <td>'.$data['created'].'</td> 
      <td >'.$data['updated'].'</td>'; 

      echo "<td><a href=\"editForm.php?id=$data[id]\" style=\"text-decoration: none\"><input type=\"submit\" value=\"Edit\" /></a></td>"; 

      echo '</tr>'; 


       }#end of while 


      }#end of if 



echo '</table>'; 
?> 

,然後我做的:

$id=$_GET['id']; 



      $query="SELECT * FROM tickets WHERE id='$id'"; 


      $result = mysqli_query($db,$query) or die("My query ($query) generated an error: ".mysql_error()); 

      $data=mysqli_fetch_array($result); 





      mysqli_close($db); 

我使用數據數組中的內容,將其加載到在編輯表單中的字段..

不幸的是,這並不工作, IE瀏覽器。點擊編輯按鈕不會執行任何操作。有人可以告訴我如何解決它嗎?謝謝。

回答

2

嘗試使用這樣的:

echo "<td><form action=\"editForm.php\" method=\"get\"><input type=\"hidden\" name=\"id\" value=\"$data['id']\" style=\"text-decoration: none\" /><input type=\"submit\" value=\"Edit\" /></form></td>"; 

這將意味着你仍然可以使用一個按鈕。

此外,我強烈建議如果您沒有使用表格數據表,請找到替代方案,如<div> s。

並記住要清理SQL查詢,否則可能容易受到SQL注入攻擊。 (例如$id=$_GET['id']; =>$id=mysqli_real_escape_string($conn, $_GET['id']);其中$conn是您的MySQL連接對象)。

你可以在Google上搜索這些東西。

+0

謝謝,但我的代碼如下錯誤: '解析錯誤:語法錯誤,意外的T_ENCAPSED_AND_WHITESPACE,希望T_STRING或T_VARIABLE或T_NUM_STRING在F:\ PHP Ninja \ xampp \ htdocs \ testdrive \ includes \ functions.php on line 4 ' 有什麼想法爲什麼?謝謝。 – greenpool

+0

@greenhoodlum'functions.php'中有什麼? –

+0

糟糕 - 我在我的MySQL代碼中發生了一個錯誤(忘記尾括號) - 它應該讀取'$ id = mysqli_real_escape_string($ conn,$ _GET ['id']);'!我已更新我的帖子。 –

1

糾正你寫的按鈕成這樣子

echo "<td><a href=\"editForm.php?id=$data[id]\" style=\"text-decoration: none\">Edit</a></td>"; 

單擊該按鈕嘗試提交表單行。但是,你想要做什麼是訪問的頁面editForm.php

PS:你應該閱讀有關PHP和HTML一些教程來學習最佳實踐;)

0

或者你可以用jQuery的一個很好的方式做到這一點。嘗試閱讀this

2

您不應該使用<input type="submit" value="edit" name="edit" />

只有"<a href='editForm.php?id='".$data['id']."' style='text-decoration: none' />Edit</a>"足以將您的數據發送到editForm.php頁面。

PS:提交按鈕只能用於提交表單中的所有表單元素。

相關問題