2011-11-23 93 views
0

所以情景是这样的: 我目前有一个数据库与RSS源的电视节目。 供稿(电视节目)表具有ID,名称,网络,供稿,活动。 我在帐户表中设置了一个名为收藏夹的字段,我认为逗号分隔ID的电视节目可能是一个好主意,但我不知道了。从数据库复选框设置值

我目前正在实施中的CI一个控制器,将着眼于DB在收藏领域,比如,它充满了104149150

我怎样才能得到这些ID的转移到视图中,所以我可以将值设置为相应的Show?

<?php foreach ($shows as $show) { ?> 

      <div class="grid_1"> 
       <? $data = array(
    'name'  => $show['name'], 
    'id'   => $show['id'], 
    'value'  => $show['name'], 
    'checked'  => FALSE, 
    ); 

echo form_checkbox($data); ?> 

      </div> 

      <div class="item"><?=form_label($show['name']);?></div> 

         <?php } ?> 

视图当前输出电视节目与旁边的复选框每个节目的数据库,什么是我设置的用户偏好收藏的最佳方式是什么?所以,我可以根据用户的喜好

我希望我解释什么,我试图做的很好,

由于设置每个复选框的值!

+0

*一个例子: “我想以逗号分隔的......” *。让我在那里阻止你 – Phil

+0

那么我该如何处理它? – viperfx

回答

1

您可以加载一个查看和发送变量/参数,它是这样:

$params['data'] = array(1 => 'hello'); 
$this->load->view('path/view.php', $params); 

编辑: 收藏夹保存,我建议创建一个新表(“最爱”),它包含一个favorite_id ,user_id,show_id ..也许添加一个日期,也许还有其他的东西。

在节目页面,在这里的复选框居住,你可以做到以下几点:

<input type="checkbox" <?=(in_array(SHOW_ID, $favorites) ? 'checked' : null);?> /> 

这意味着你必须寄过来叫$favorites数组,它看起来像$params['favorites']在你的控制器。

的查询来获取收藏夹会是这个样子:

$q = $this->db->query('SELECT show_id FROM favorites WHERE user_id=?', array($user_id)); 
$params['favorites'] = $q->result_array(); 

array($user_id)查询以下称为查询绑定,用于安全。

+0

不知道如何将它与数据库中的ID匹配到每个复选框。 – viperfx

+0

请参阅编辑请 – Mike

+0

谢谢,请您在复选框中解释代码。 – viperfx

1

迈克是正确的,这里是使用CI :)

Clicky