o2w5n778
27.12.2011, 17:55:15
Witam!
Szukam funkcji która mógł bym zmienić powtarzające się nazw. Chodzi mi o to że funkcja ma dodać do nazwy liczbę 1 (jakis_artykul1) a jeżeli już taki będzie to liczbę 2 (jakis_artykul2).
potreb
27.12.2011, 18:46:36
To zależy co chcesz zmienić? Jeżeli nazwy plików to
{
$name = pathinfo($filename, PATHINFO_FILENAME
); $ext = pathinfo($filename, PATHINFO_EXTENSION
); for($i=1; $i<40; $i++)
{
$file = $name . '-' . $i . '.' . $ext;
if(!file_exists($target . $file)) return $target . $file; }
return $target . $file;
} else {
return $target . $filename;
}
A jeżeli nazwę jakiegoś artykułu, to pytanie po co zmieniać.
o2w5n778
28.12.2011, 14:06:16
a po to że ta nazwa będzie zastosowana do przyjaznych linków, polskie znaki będą usuwane, spacje zastępowane myślnikami itd. Do artykułów będą zapisywane do bazy danych 2 nazwy, normalna i zmieniona pod mod_rewrite.
Chodzi mi o to że:
1. Sprawdzam w bazie danych czy taka nazwa istnieje
2. Jeżeli istnieje zmieniam ją po przez dodanie na końcu liczby 1,2,3 itd do puki nazwa nie będzie inna
erix
28.12.2011, 16:01:52
No to wykonujesz zapytanie zliczające:
WHERE slug REGEXP 'slug\-testowy[0-9]*'
I potem nowy numerek = uzyskana liczba + 1.