【问题标题】:Rename Article SLUG if already exists如果已经存在,则重命名文章 SLUG
【发布时间】:2012-04-02 20:52:14
【问题描述】:

在我的文章网站上,我设置了 ID 和文章 SLUG,但我使用的是 slug 而不是 ID。 Slug 被设置为主要唯一!

但是当用户再次添加现有的 slug 时会导致 mysql 错误而死 键“P​​RIMARY”的重复条目

我更改了插入前检查的代码

    $qry="select * from marticles where slug='$slg'";
$res=mysql_query($qry) or die("Error in query!");
$count = mysql_num_rows($res);
if($count > 0) {
    echo "Slug Already Exists! Pls change Title/Slug";
    }

现在在插入前向用户显示错误消息

但我想自动重命名 slug 而不是错误消息 例如如果 Previous Slug 是“关于环境的文章” 如果用户再次插入相同的 slug,它将变为“article-on-environment-2” & 然后下一个 ""article-on-environment-3" 以此类推

我需要帮助来寻找相同的旧 slug 并重命名。

【问题讨论】:

    标签: php sql rename slug


    【解决方案1】:

    您可以进行插入,然后在 mysql_error 上检查错误代码,如果是重复的键代码,请更改 slug。

    $slug='test';
    $orig=$slug;
    while(!$done) {
        $i++;
        mysql_query("insert into table set slug = '$slug'");
        if(mysql_errno() == 1062) {
            $slug=$orig."-$i";
        } else {
            $done=true;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2015-06-14
      • 2019-07-25
      • 1970-01-01
      • 2023-04-06
      • 2014-07-20
      • 2015-02-02
      • 2018-08-02
      • 2014-04-02
      相关资源
      最近更新 更多