【问题标题】:How to run an sql query from a link with javascript onclick如何从带有 javascript onclick 的链接运行 sql 查询
【发布时间】:2011-10-02 20:07:33
【问题描述】:

我在 joomla 文章中有一个脚本,它遍历数据库并按用途列出所有条目。一切都在 PHP 中完成,其中包含 echo 语句。

在每个条目的末尾,我添加了一个“删除”按钮。

例如:

echo "[a href=\"#\" onclick=\"javascript:(需要在这里运行查询)\"]删除[/a]";

我该怎么做?

(请忽略方括号,我不知道如何使代码显示,并且 pre 标记没有那么好)

【问题讨论】:

  • AJAX,使用XMLHttpRequest,以及在验证用户身份之后处理请求的服务器端脚本。
  • @Murtez:对于代码块,突出显示代码,然后在编辑器中按 ctrl-K 或 {} 按钮。如果你想在一大块非代码中嵌入一个简短的 sn-p,请在代码 sn-p 周围使用反引号。

标签: php javascript mysql joomla


【解决方案1】:

Ajax,你可以从 javascript 调用你的 php 脚本,以 JSON 格式返回数据,解析它并将条目附加到 dom

【讨论】:

    【解决方案2】:

    我建议您查看此http://www.w3schools.com/php/php_ajax_intro.asp,它会引导您完成您要求设置 AJAX 的步骤。左侧有链接,您将如何在 PHP 中对其进行编码以及如何进行数据库查询。

    我建议只使用示例代码并对其进行调整以满足您的需求。玩得开心!

    【讨论】:

    • 如果您要发表这样的评论,请发布您的替代方法或示例错误的地方。否则,当涉及到上述问题时,您的评论是非建设性的。
    • 我不反对您的解决方案(使用 ajax)。我反对链接。我也是从 W3Schools 开始的——但在从 MySQL 数据库查询信息的示例中,W3Schools 示例将xmlhttp 变量泄漏到全局范围内,不会对通过线路发送的查询字符串参数中的值进行编码,是在 quirks 模式下,因为 HTML 没有 any doctype 并且 通过将 $_GET["q"] 的值直接放入 SQL 查询中,从而将数据库暴露于 SQL 注入攻击。这一切都在一页中,作者没有任何警告。
    【解决方案3】:

    这是一个关于如何使用 jquery ajax 进行操作的示例。

    $('#buttonid').click(function() {
        $.ajax({
        type: "POST",
        url: "pathtoserversidescipt",
        data: $("#formid").serialize(),
        success: function(msg){
            ("whatever you want to happen next")
        }
    });
    });
    

    还可以查看此处了解更多信息。 http://api.jquery.com/category/ajax/

    【讨论】:

      【解决方案4】:

      您需要通过 ajax 发布该链接以编辑部分。在编辑部分,您可以获取帖子 ID 并将其删除,如

      if(isset($_GET['delete']) and $_GET['delete'] != '')
      

      并删除

      function remove() {
          $id = JRequest::getVar('id');
          $db =& JFactory::getDBO();
          $query = "DELETE FROM #__cd_lend_request WHERE ck_CDid = '$id'";
          $db->setQuery($query);
          $result = $db->query();
          $this->setRedirect(JRoute::_('index.php?option=com_cd'), 'CD has been removed from the list!', 'notice');
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-10-14
        • 2012-08-24
        • 1970-01-01
        • 2018-01-25
        • 1970-01-01
        • 2021-03-23
        • 2019-05-30
        • 2018-07-11
        相关资源
        最近更新 更多