2013-11-02 71 views
0

我對這個問題有點疑惑。我所做的是我已經使用while循環,顯示我的所有課程到一個HTML表中創建一個表:使用php刪除一個html表中的記錄

<?php 
include_once "Includes/config.php"; 

function manCourse(){ 
    $SQL = "SELECT cname FROM course"; 
    $result = mysql_query($SQL); 
    if (!mysql_num_rows($result)) 
    { 
     echo "There are no courses."; 
    } 
    else 
    { 
     while ($row = mysql_fetch_assoc($result)) 
     {     
      echo "<tr><td> Course name: <b> " .$row['cname']."</b></td> <td><a href = ''>Edit</a></td> <td><a href = ''>Delete</a></td> </tr>"; 
     } 


    } 

} 
?> 

我的問題是,當有人點擊,它需要能夠做到這一點的刪除或編輯鏈接。我可以使用什麼作爲密鑰,以便知道需要編輯或刪除哪一行?

任何幫助,將不勝感激!謝謝。

+1

SQL的外觀如何?任何'id'列? +將'mysql_ *'改爲'mysqli_ *'。 – speccode

+0

_「我可以用什麼作爲關鍵」_:「課程」的主鍵怎麼樣? – geomagas

+0

將href中的行的主鍵作爲參數添加並從url中刪除代碼 –

回答

0
<?php 
include_once "Includes/config.php"; 

    function manCourse(){ 
    $SQL = "SELECT id,cname FROM course"; 
    $result = mysql_query($SQL); 
    if (!mysql_num_rows($result)) 
    { 
    echo "There are no courses."; 
    } 
    else 
    { 
    while ($row = mysql_fetch_assoc($result)) 
    {     
     echo "<tr><td> Course name: <b> " .$row['cname']."</b></td> <td><a href = ''>Edit</a></td> <td><a href = 'delete.php?id=".$row['id']."'>Delete</a></td> </tr>"; 
    } 


    } 

} 
?> 

delete.php是新的文件在那裏你會添加刪除記錄的代碼。 $row['id']是記錄的主要記錄,它始終是唯一的。

0

其非常好的數據庫設計總是包含每行唯一的主鍵。這將在這裏解決你的問題,並將允許其他好處,如加入其他表。此密鑰應該包含在您的表格中,但對用戶不可見。

create table course 
(
    course_id int not null primary key auto_increment, 
    . . . 
) 

傳遞鍵從UI回來時,他們點擊刪除,並使用此SQL從數據庫中刪除:

delete from course where course_id = $course_id 
0

你必須創建一個名爲delete.php的頁面

delete.php必須有這段代碼。

,你必須通過通過THA刪除鏈接,將是這樣

而($行= mysql_fetch_assoc($結果))的變量{
回聲 「課程名稱:」 $行[。 'cname']。「編輯刪除」; }