按下按钮时尝试发送用于编辑数据的主键值

时间:2014-03-11 17:46:01

标签: php html mysql

我试图发送一个主键值,该值对应于在MySQL服务器的结果表中按下的按钮。每个结果都有自己的编辑和删除按钮。我可以创建按钮和相应的php页面的链接,但我很难发送已被点击的特定元组的值。我的代码看起来像

 try {
        $stmt->execute();
        $results = $stmt->fetchAll();
        if (!$results) { // check we have some results
            echo "No trainingCourses found <br />";
        } else { //generate table of trainingCourses
            print "<table>\n";
            echo "<th>Meeting ID</th><th>Title</th><th>Date</th><th>Link</th>\n";
            foreach ($results as $row) {
                echo "<tr>";
                echo "<td>" . $row["trainingID"] . "</td>";
                echo "<td>" . $row["title"] . "</td>";
                echo "<td>" . $row["date"] . "</td>";
                echo "<td>" . $row["link"] . "</td>";
                echo "<td><a href='editTrainingCourse.php?id=".$row['trainingID']."'><strong>Edit</strong></a></td>";
                echo "<td><a href='deleteTrainingCourse.php?id=".$row['trainingID']."'><strong>Delete</strong></a></td>";

                echo "</tr>\n";
            }
            print "</table>\n";
        }
    } catch (PDOException $e) {
        echo "Query failed: " . $e->getMessage();
    }

    }
  catch (PDOException $e) {
    //$conn->rollBack();
    // If something raised an exception in our transaction block of statements,
    // roll back any work performed in the transaction
    exit('<p>Unable to complete transaction!</p>'.$e->getMessage());
     }

我认为答案取决于

id=".$row['trainingID']

部分,但我不知道如何处理。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您必须创建editTrainingCourse.phpdeleteTrainingCourse.php

在每个中,您需要检查是否存在代表网址中找到的$_GET['id']的{​​{1}}。

验证您传递的id确实是一个整数,然后使用它:

?id=xxx

现在使用if ( is_int($_GET['id']) ) { $trainingID = $_GET['id']); } else { die('bad ID given.'); } 执行查询。