Merhaba arkadaşlar veritabanımda permalink diye bir sutun var burayı otomatik olarak benzersiz bir değer atacağım ama var olan bir tane varsa onun sonuna 1,2,3 vs gibi otomatik olarak eklemek istiyorum. Örneğin worpdressteki gibi. Bunun mysql ile bir yöntemi varmı yoksa PHP ile bir kod mu oluşturmam lazım. PHP de basit olarak bir kod oluşturdum ama sadece sonuna 1 ekliyor aynı değerde birşey daha ekleyince yine 1 ekliyor. Yardımcı olursanız sevinirim.
Örnek URL
/sef-url-1
/sef-url-2
/sef-url-3
/sef-url-4 vs
İyi çalışmalar.
Mysql Uniqe Değer
13
●794
- 16-08-2013, 16:16:38Anlatamadım herhalde. ID zaten AI da benim demek istediğim kayıt esnasında aynı isimde bir permalink varsa otomatiktan sonuna kaçıncı olduğunu yazacak.BTHN adlı üyeden alıntı: mesajı görüntüle
Örneğin permalink-deneme diye bir kayıt girecek onun sonuna permalink-deneme-1 yazacak ama bir daha permalink-deneme girerse sonuna permalink-deneme-2 yazacak. - 16-08-2013, 16:46:53Üyeliği durdurulduLike ile kontrol edin sef yapısını oluşturmadanTheWsN adlı üyeden alıntı: mesajı görüntüle
- 16-08-2013, 16:56:44O mantıkla yaptıgım zaman sadece 1 tane sorgu oluyor. Benim demek istedigim her defasında öncekini 1 artıracak. Mysql ile bir yöntem var mı diye soruyorum. Php ile kod yazmamak için.BTHN adlı üyeden alıntı: mesajı görüntüle
Sent from my iPhone using Tapatalk - 16-08-2013, 17:21:53
<? function kontrol($link) { $sql = mysql_query("SELECT permalink FROM tabloadi WHERE permalink='".$link."'"); if (mysql_num_rows($sql) == 0) return $link; else { $rand = rand(1, 100); $link = $link."-".$rand; return kontrol($link); } } $permalink = 'sef-url'; // örnek permalink $permalink = kontrol($permalink); ?>Deneme yapamadım hocam. Dener misiniz? - 16-08-2013, 21:53:30Zaman ayırdığın için teşekkür ederim ama sonuna eklenecek olan rakam random olmayacak. Sıralı olacak ve PHP ile değil mySQL ile. AI gibi otomatik string değerleri de 1 artırrarak yazacak.sewakldawk adlı üyeden alıntı: mesajı görüntüle
- 17-08-2013, 02:14:28do while döngüsü kullanın, kelimenizin sonuna birden başlayarak rakamlar ekleyip sql sorgusu ile kontrol ettirin. Döngü sırasında bir tane counter kullanmayı da ihmal etmeyin. Dönen satır sayısı sıfır olana kadar döngü devam edecektir. while koşulu sağlandığında en büyük değeri eklemiş olursunuz.