我放置的一些功能无法正常运行。

子弹是根据帖子标题自动动态创建的。



我的问题是,如果他们重复输入帖子标题“test”怎么办?这意味着子弹也将被重复。因此,我创建了2个函数来为我处理此问题。

此函数检查数据库中是否存在该块

function slug_exist($x){
    global $db;
        $sql = "SELECT post_name FROM posts WHERE post_name=\"$x\"";
        $query = $db->select($sql);
            if($db->num_rows() > 0){
                return true;
    }
}

如果数据库中确实存在该子弹,则正在使用此功能为该子弹赋予唯一名称
    if(slug_exist($slug)){
        $rand = rand(10,50);
        $slug = $slug."-".$rand;
            return $slug;
    }

好吧,当the将获得唯一的name名称时,它将像Example: test-244
我希望子弹按数字顺序而不是随机顺序。
**Example:**

Post Title is "Test"
Slug is "test-1"

Post Title is "Test"
Slug is "test-2"

Post Title is "Test"
Slug is "test-3"

这是我知道如何详细解释的唯一方法,如果您不确定会发生什么,请告诉我。谢谢!

最佳答案

这是一个非常标准的代码,只需要一个小循环:

$i = 1; $baseSlug = $slug;
while(slug_exist($slug)){
    $slug = $baseSlug . "-" . $i++;
}

return $slug;

关于php - 使后独特,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20439834/

10-12 20:00