【问题标题】:CodeIgniter PHP: change value in database when checkbox is mark/unmarkCodeIgniter PHP:当复选框标记/取消标记时更改数据库中的值
【发布时间】:2014-12-25 10:11:46
【问题描述】:

好的,我设法以某种方式获得复选框的值,但现在我有另一个问题。

这是我的看法,rssFeeds.php

<?php foreach( $feeds as $row ) : ?>
<div class="row">
   <div class="col-md-2 col-sm-3 text-center">
        <a class="story-title"><img alt="" src="http://www.solostream.com/wp-content/uploads/2014/06/20140110080918_0555.jpg" style="width:100px;height:100px"></a>

        <label class="checkbox-inline">    
            <input type="checkbox" class="chkbox" value="chkbox_<?php echo $row->category; ?>_<?php echo $row->id; ?>"> Mark Read
        </label>
    </div>
    <div clas="col-md-10 col-sm-9">
        // here are my feeds....
    </div>
</div>
<?php endforeach; ?>

我有这个脚本,它接受复选框值,并将其发送到我的控制器:

<script>
$(document).ready(function(){
   $(document).on('click','.chkbox',function(){
       var id=this.value;

       $.ajax( {
          type: "POST",
          context: "application/json",
          data: {id:id},
          url: "<?php echo site_url('rssFeedReader/markReadUnread'); ?>",
          success: function(msg) 
          {
              // what should i do here ?....
          }
      })
    });
  });
</script>

在我的控制器中,我只加载一个模型,它会更改我的数据库中的值,0 或 1(表示已读或未读)。

问题是我的桌子上没有任何变化...... 我需要在 ajax 的 .succes 函数中添加一些东西吗?什么.. ?我只需要更改我的数据库中的一个值....

【问题讨论】:

  • name="checkbox[&lt;?=$row-&gt;id?&gt;]" 然后你可以寻找$_POST['checkbox'] 并foreach它...
  • 我只是更新我的问题。我真的需要你的帮助来解决这个问题......
  • 你需要重新生成表,你可以销毁它,或者通过JS/jQuery更新它
  • 所以它不能用 codeigniter 来完成,使用模型?...我如何从 js/jquery 中做到这一点...。你能帮帮我吗?...
  • Codeigniter 只是后端,它与前端脚本无关(就实时更新而言) - 您需要使用 ID 并使用 jQuery 来更新页面内容。

标签: javascript php mysql ajax codeigniter


【解决方案1】:

@James-Lalor 有您正在寻找的答案,但我会对其进行扩展。

您可以为输入赋予相同的名称(单选按钮、复选框)以使它们相互交互。对于单选按钮,实际上需要使用相同的名称来标记和取消标记其他按钮。但是在这种情况下,我们将使用&lt;input name=example[]&gt; 注意[],这意味着当您执行 ajax 发布(或任何发布)时,它会将所有检查的值作为数组发送。

因此,按照 James 的建议,您可以使用 $.post(url, data, callback) 向其发布 &lt;input name="checkbox[&lt;?php echo $row-&gt;id?&gt;]",最简单的方法是将其放入表单中,为表单分配 id,执行序列化邮政。你可以这样做:

<form id="rss_form" method="post" action="javascript:rssUpdate();">
    <input name="checkbox[<?php echo $row->id?>]" type="checkbox"/>
    <input type="submit" value="submit"/>
</form>

<script>
    function rssUpdate()
    {
        $.post(url/to/post/to, $("#rss_form").serialize());
    }
</script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多