【问题标题】:How To trigger a php query using a link如何使用链接触发 php 查询
【发布时间】:2014-08-13 11:30:45
【问题描述】:

我有一个页面,我可以在其中收集和存储页面浏览量,我有一个 php 查询,可以在单击按钮时存储我的页面浏览量,

if(isset($_POST['submit'])){
    mysql_select_db($database_epl, $epl);
    $query_lin = sprintf("SELECT * FROM topic WHERE id = %s ORDER BY `Date` DESC", GetSQLValueString($colname_lin, "int"));
    $topicId = $_GET['id']; // you need to change 'id' to the name of your ID-parameter in the URL
    $viewsIncrementQuery = "UPDATE `topic` SET `Views` = `Views` + 1 WHERE `id` = " . $topicId;
    $incremented = mysql_query($viewsIncrementQuery, $epl) or die(mysql_error());
    // run/execute mysql query

但现在我希望能够使用链接调用该查询,(点击链接)

我该怎么做

【问题讨论】:

  • 首先,格式化你的帖子,它很难阅读。您尝试了哪些方法,哪些方法无效?
  • 如果您想留在同一页面上,您需要考虑使用 ajax
  • 不重新加载页面?使用 AJAX !
  • 通过_GET发送参数
  • 我不打算留在页面上,我只是想确保单击该链接,执行查询,

标签: javascript php html


【解决方案1】:

你可以给链接添加一个onclick事件,让它设置表单的action属性,然后触发提交

html

<form method="post" id="myForm">
   <input type="text" name="id" />
   <input type="button" name="submit" value="submit">
</form>

<a href="/somePhpScript.php" onclick="submitForm(this)">Click to submit</a>

Javascript

function submitForm(element){
    var action = element.href;
    var form = document.getElementById("myForm");
    form.action = action;
    form.submit();
}

然后您的数据将位于$_POST 全局数组中,如果您希望它位于$_GET 全局数组中,只需将method 属性更改为get

【讨论】:

  • 我认为您的解决方案更符合我的要求,因为我的查询已经包含一个发布操作,谢谢,我会尝试并返回
【解决方案2】:

您需要使用 ajax 查询 like this in JQuery 调用此页面。有了这个,您将能够以 GET 或 POST 的形式传输参数,并在您的页面中接收它们,您将在其中进行更新查询。

【讨论】:

    【解决方案3】:

    通过您的链接传递参数:

    http://example.com/yourpage.php?send=123
    

    在你的page.php中

    var_dump($_GET['send']);
    

    返回

    string(3) => 123
    

    编辑:

    在您的 html 输出中为您的链接引入一个参数:

     <a href="http://example.com/yourpage.php?updateview=1">link</a>
    

    在你的page.php中

     if($_GET['updateview'] == 1)
     {
          //your sql query etc. from the question.
     }
    

    【讨论】:

    • 你能把它应用到我给的sn-p上吗
    • 我不知道您的链接,也不知道您要发送的变量。但我可以写一些建议。
    • 不要将 GET 参数用于数据库中的更新操作。他应该在他的情况下使用 POST-action。
    • @Thijs 如何在链接中发送带有 http 的 POST 标头?
    • @RaphaelMüller 他应该使用 AJAX。
    猜你喜欢
    • 1970-01-01
    • 2011-08-14
    • 1970-01-01
    • 1970-01-01
    • 2018-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多