php - 使用复选框和 AJAX 添加到 mysql

标签 php javascript mysql ajax

我有一些数据将像这样显示;

foreach ($holidays as $holiday) 
            {
                $resultTable .=  "<p><a href=\"{$holiday->link}\">{$holiday->title}</a>" . "<br/>" . 
                "{$holiday->pubDate}" . "<br>" . 
                "{$holiday->description}" . "<input type=\"checkbox\" name=\"saveCB\" value=\"3\"/>" . "<br /></p>";                

            }

有没有一种简单的方法可以在单击复选框时使用 AJAX 将数据添加到 mysql 表中?

问候达伦

最佳答案

是的,您需要 JavaScript 来执行此操作。如果您对表单提交感到满意,并且每次更改选择框(即选中/取消选中)时都会刷新页面,那么这可以很容易地完成。如果你不能接受这一点,你就必须使用ajax。这将是您的最佳解决方案,并且虽然 ajax 很简单,但将其放在您 future 项目的工具箱中是一个很好的选择。

也就是说,您可以通过为表单提供 id 属性,并将此 javascript 粘贴到表单下方(并编辑表单 id var)来实现此目的:

<script type="text/javascript">
    var formId = "YOUR FORM ID HERE";
    function submitForm(){document.getElementById(formId).submit()}
</script>

然后将以下属性添加到每个复选框:onchange="submitForm()"

再次强调,强烈建议使用 ajax 来完成此类任务,如果您研究一下 jQuery ajax,您将会惊讶于这一切是多么容易完成。

编辑:您可以做什么来在现有代码中实际实现此功能(替换它):

<form action="php-file-to-process-form.php" id="your-form-id" method="post">
    <?php if(count($holidays)>0): foreach($holidays as $holiday): ?>
    <p>
        <a href="<?php echo $holiday->link; ?>"><?php echo $holiday->title; ?></a>
        <br>
        <?php echo $holiday->description; ?>
        <input type="checkbox" name="saveCB[<?php echo $holiday->id; ?>]" value="<?php echo $holiday->id; ?>">
    </p>
    <?php endforeach; endif; ?>
</form>
<script type="text/javascript">
    var formId = "your-form-id";
    function submitForm(){document.getElementById(formId).submit()}
</script>

请注意我重写了您的部分代码。但在这种情况下,假设您的 $holiday 对象具有“id”属性,则 php-file-to-process-form.php 应该收到一个相当容易理解的发布请求。

关于php - 使用复选框和 AJAX 添加到 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9975237/

相关文章:

php - 用字符串中的完整图像标签替换图像 src

javascript - 如何将简单的可迭代类从 JavaScript 重写为 TypeScript?

javascript - 为什么该值没有出现在我的输入 slider 上?

javascript - 设置范围 : the startContainer is wrong

mysql - 如何在 MySQL 中计算任务完成 75% 的时间

PHPexcel:将两个变量合并到一个单元格中

php - Yii 1.1.3 设置依赖下拉列表的选择值

PHP fatal error : Class 'WP_UnitTestCase' not found when trying to run test-sample

php - 从 OpenCart 中删除 index.php?route=common/home

php - 如何删除数据库“mysql”中的字符