php / codeigniter - 使用while链接两个函数

时间:2012-10-25 01:33:22

标签: php codeigniter

我的应用程序中有一些关注/取消关注和阻止/取消阻止功能。它们工作正常,正确的数据填充我的数据库。这是我的逻辑概述:

if($this->user_is_followed) {
    //show unfollow button
}else {     
    //show follow button

}

if($this->user_is_blocked) {    
    //show unblock button
}else {
    //show block button
}

一个问题:我需要为这两种情况链接follow / unfollow和block / unblock函数:

1 - 如果用户关注某人,并点击了阻止按钮,则该用户应被阻止并取消关注(此时,该用户已被阻止,但未被取消关注)

2 - 如果用户阻止了某人,并点击了关注按钮,则该用户应该被关注并取消阻止(此时,用户会被关注,但不会被阻止)

我尝试使用-while-链接这两个函数,但没有任何显示,甚至没有错误,只是一个空白的屏幕:

这是我对while逻辑的尝试:

    if($this->user_is_followed) {
        while($this->user_is_blocked) {
            //show unfollow button
        }
    }       
    else if($this->user_is_blocked) {
        while($this->user_is_followed) {        
        //show follow button 
        }       
    }

简单地说,我正在试图弄清楚我可以使用哪种php控件结构。是 - 还是其他什么?

2 个答案:

答案 0 :(得分:1)

第一个是好的,取决于你是否可以同时跟踪和阻止。

由于看起来你正在为内联输出执行此操作,您可能只想将其压缩为三元组:

<?php echo ($this->user_is_followed ? 'unfollow button' : 'follow button'); ?>

如果你有广泛的标记,三元组会很糟糕,因为在php中回显html通常是一个愚蠢的想法。但是,如果您在类上使用类似jquery和侦听器的库,则可以在<a>标记上分配“跟随”或“未跟随”类,然后根据css显示...希望这是有道理的。< / p>

答案 1 :(得分:0)

您之前的逻辑大纲没有任何问题。

if($this->user_is_followed {
    //show unfollow button
}
else {      
    //show follow button
}
if($this->user_is_blocked) {    
    //show unblock button
}
else {
    //show block button
}

唯一会发生的变化是控制你的follow,unfollow,block和unblock按钮。因为在显示按钮时没有需要进行的操作吗?所以这两个场景应该在单击按钮后发生,而不是在显示按钮时发生。我建议根据你想要发生的场景为你的follow,unfollo,block和unblock按钮创建函数。