У меня есть добавленная форма для добавления нового сообщения. Я получил сообщение о должности как post_url или slug. Мне нужен уникальный post_url.
Вот что я сделал до сих пор -Создание уникального слизня с использованием заголовка сообщения
$post_name = $this->input->post('post_title');
function clean($post_name) {
$name = trim($post_name);
$post_name = str_replace(' ', '-', $name);
return preg_replace('/[^A-Za-z0-9\-]/', '', $post_name);
}
$post_url = clean($post_name);
$query = mysql_query("select post_url from sa_posts where post_url like '" . $post_url . "%'");
while ($r = mysql_fetch_assoc($query)) {
$slugs[] = $r['post_url'];
if (mysql_num_rows($query) !== 0 && in_array($post_url, $slugs)) {
$max = 0;
while (in_array(($post_url . '-' . ++$max), $slugs)) ;
$post_url .= '-' . $max;
}
}
echo "Slug " . $post_url;
Я получаю выход, как -
после URL-адрес
пост-url-1
пост-url- 1-1
post-url-1-1-1
Но я хочу вывода, как -
после URL
пост-url-1
пост-url-2
пост-url-3
Что является проблемой в моем коде?
Пожалуйста, помогите мне.
Спасибо.
первое изменение $ POST_URL =. '-'. $ Макс; до $ post_url = $ post_url. $ Макс; – coder
@coder Он просто удаляет дефис (-) и показывает результат как пост-url, post-url1, post-url2 – Deepak
PLZ проверить ан. – coder