2014-02-21 57 views
0

我有一種表單,當用戶從列表中選擇標題時,需要加載數據。當我保存一條記錄時,我查詢數據庫,並將記錄的標題放在一個列表中,並帶有編輯和刪除鏈接。我無法在編輯按鈕中添加「a href」,並且無法將記錄數據加載到表單中。從查詢填充表單數據的鏈接

下面是查詢代碼:

<div class="content"> 
<ul class="nav"> 

<div><a href="index.html">Home</a></div> 

<div class="container"> 
<?php 
include('connect-db.php'); 
$result = mysql_query("SELECT * FROM 'my_table' ORDER BY id ASC"); 
while($row = mysql_fetch_array($result)) 
{ 
$id=$row['id']; 
$title=$row['title']; 
?> 

<div class="show"> 
<Table width="300" Border="0"> 
<TR><TD width="260"><?php echo $title; ?></TD> 

<TD width="20"><a href="#" id="<?php echo $id; ?>">EDIT</a></TD> 

<TD width="20"><a href="#" id="<?php echo $id; ?>">DELETE</a> 
</TD></TR> 
</Table> 
</div> 

<?php 
} 
?> 
</div> 

下面是窗體的代碼:

<form name="myForm" action="process.php" method="post"> 
<div> 

<?php 
include"connect-db.php"; 

$sql="SELECT * FROM my_table"; 
$result=mysql_query($sql); 
$rows=mysql_fetch_array($result); 
?> 

<input type="text" name="title" id="title" value="<? echo $rows['title']; ?>"> 
<textarea name="chords" id="chords" rows="1" cols="16"><? echo $rows['chords']; ?></textarea> 
<textarea name="lyrics" id="lyrics" rows="4" cols="16"><? echo $rows['lyrics']; ?></textarea> 
+0

不知道你在這裏試圖達到什麼。根據ID,'process.php'是否只包含來自數據庫的一個結果? –

+0

我會迴應雷德的評論。發生了什麼,你期望會發生什麼。 –

+0

當我向數據庫提交記錄時,我會將記錄標題添加到網頁上的列表中。我希望用戶能夠點擊標題或編輯按鈕併爲該記錄填充表單。插入作品和標題列表作品。我無法選擇標題並將數據加載回表單進行編輯。 – user1163965

回答

0

如果「process.php」應顯示1所記錄的結果從數據庫中,你需要更改鏈接的href並將該ID作爲URL中的GET參數傳遞給process.php。在該頁面中,您需要使用該ID參數進行查詢。

變化鏈接:

<a href="?action=edit&id=<?php echo $id; ?>">EDIT</a> 
... 
<a href="?action=delete&id=<?php echo $id; ?>">DELETE</a> 

在process.php,你需要添加一些if/else語句:

if(isset($_GET["action"]) && isset($_GET["id"]) && is_numeric($_GET["id"])) { 
    include"connect-db.php"; 

    $sql="SELECT * FROM my_table WHERE id = " . $_GET["id"]; 
    $result=mysql_query($sql); 
    $rows=mysql_fetch_array($result); 

    if($_GET["action"] == "edit") { 
     // output editing form 
    } 

    else if($_GET["action"] == "delete") { 
     // delete 
    } 
} 

你也可以使用編輯和刪除不同的頁面,更改鏈接相應,如果這是你想要的。你可能想刪除之前有一個確認部分...

請注意,在URL中傳遞像這樣的數據使它非常容易受到黑客攻擊。人們可以輕鬆地更改身份證或行動。

此外,您需要遷移您的代碼以使用PHP的mysqli函數而不是mysql。 mysql的已棄用...

+0

我可能需要重新考慮結構。進程文件用於插入數據庫。我有一個單獨的刪除文件,但是我還沒有解決更新問題,因爲我需要首先將數據返回到表單中。看來我應該使用process.php來插入和更新。我實際上沒有使用process.php來編輯和刪除鏈接來查詢數據。該代碼位於我的編輯頁面。我唯一的一次調用process.php是當我保存一個文件或更新。正如我所說,我需要考慮最好的方式來做到這一點。 – user1163965