gpt4 book ai didi

php - 使 post slug 独一无二

转载 作者:可可西里 更新时间:2023-11-01 13:08:39 25 4
gpt4 key购买 nike

我放置的函数很少,但无法按我的意愿运行。

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

Example: If a post title is "test" then the slug will be "test"

我的问题是,如果他们重复输入帖子标题“test”,这意味着 slug 也会重复。出于这个原因,我创建了 2 个函数来为我处理这个问题。

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

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;
}
}

如果 slug 确实存在于数据库中,那么我将使用此函数为 slug 指定一个唯一的名称

    if(slug_exist($slug)){
$rand = rand(10,50);
$slug = $slug."-".$rand;
return $slug;
}

好吧,当 slug 获得唯一的 slug 名称时,它将像 Example: test-244

我希望 slug 按数字顺序排列,而不是随机排列。

**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 - 使 post slug 独一无二,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20439834/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com