在我看来,我有一个foreach语句,它可以从正确显示的数据库中获取所有必需数据。
以下是观点:
<?php
?>
<div class="cmt-container" >
<?php
foreach($results as $row){
$user = $row->user;
$comment = $row->comment;
$date = $row->date;
$name = $row->name;
$joke = $row->joke;
$joke_id = $row->joke_id;
// Get gravatar Image
// https://fr.gravatar.com/site/implement/images/php/
$default = "mm";
$size = 35;
$grav_url = "http://www.gravatar.com/avatar/"."?d=".$default."&s=".$size;
?>
<div class="cmt-cnt">
<img src="<?php echo $grav_url; ?>" />
<div class="thecom">
<h5><?php echo $user; ?></h5><span data-utime="1371248446" class="com-dt"><?php echo $date; ?></span>
<br/>
<p>
<?php echo $comment; ?>
</p>
</div>
</div><!-- end "cmt-cnt" -->
<?php
}
?>
<?php
echo form_open('comments/insertComment');
?>
<div class="new-com-bt">
<span>Write a comment ...</span>
</div>
<div class="new-com-cnt">
<input type="text" id="name-com" name="name-com" value="" placeholder="Name is optional" />
<textarea class="the-new-com" id="the-new-com" name="the-new-com" placeholder="Write your comment here..."></textarea>
<input type="hidden" name="joke_id">
<input class="bt-add-com" type="submit" value="Post comment">
<div class="bt-cancel-com">Cancel</div>
</div>
<div class="clear"></div>
</div><!-- end of comments container "cmt-container" -->
<?php
echo form_close();
?>
我的问题是,如何将$ joke_id变量传递给我的注释控制器中的insertComment函数。
我已将输入字段隐藏在joke_id字段中,因为我想将一个笑话的ID分配给评论,因此该笑话将具有唯一的评论。
答案 0 :(得分:3)
如果评论与笑话在同一页面上,您可以将$ joke_id放入隐藏的输入中:
<input type="hidden" name="joke_id" value="<?php echo $joke_id; ?>">
当您添加注释(我假设您在insertComment()函数中处理表单数据)时,您可以通过$ _POST ['joke_id']访问该笑话ID。 (是的,这不是很安全,但如果你的用户可以评论任何笑话,你只需要检查数据库中是否存在id等于$ _POST ['joke_id']的笑话,如果是,你只需插入评论)
这就是你想要的吗?
答案 1 :(得分:0)
试试这个..
<?php echo form_open('comments/insertComment'); ?>
<div class="new-com-bt">
<span>Write a comment ...</span>
</div>
<div class="new-com-cnt">
<input type="text" id="name-com" name="name-com" value="" placeholder="Name is optional" />
<textarea class="the-new-com" id="the-new-com" name="the-new-com" placeholder="Write your comment here..."></textarea>
<input type="hidden" name="jokeid" value="<?= $joke_id; ?>">
<input class="bt-add-com" type="submit" value="Post comment">
<div class="bt-cancel-com">Cancel</div>
</div>
<div class="clear"></div>
</div><!-- end of comments container "cmt-container" -->
<?php echo form_close();?>
并插入评论控制器
public function __construct() {
//codes here
$joke_id = $this->input->post('jokeid');
}