lostyazilim
tr.link

Php Url Sorunu

5 Mesajlar 907 Okunma
lstbozum
tr.link

DeepJack DeepJack WM Aracı Kullanıcı
  • Üyelik 17.12.2017
  • Yaş/Cinsiyet 34 / E
  • Meslek DJ
  • Konum Antalya
  • Ad Soyad G** U**
  • Mesajlar 121
  • Beğeniler 16 / 39
  • Ticaret 8, (%100)
Herkese merhaba,

Aynı başlıkta konu açıldığı zaman ilan_url 'nin sonuna +1 eklenmesini istiyorum.
Örnek ile açıklamak gerekirse;
İlan-1 'in başlığı Eleman Aranıyor url'si eleman-araniyor
İlan-2 'nin başlığı Eleman Aranıyor url'si eleman-araniyor-1

Nasıl yapabilirim şimdiden teşekkürler. Fonksiyonum aşağıdadır :)

if (isset($_POST["ilan-ekle"])) {
$ilan_baslik = addslashes($_POST["ilan_baslik"]);
$ilan_url=seo($_POST['ilan_baslik']);
$kategori_id = $_POST["kategori_id"];
$ilan_no = $_POST["ilan_no"];
$ilan_aciklama = $_POST["ilan_aciklama"];
$ilan_lokasyon = $_POST["ilan_lokasyon"];
$sql_query = "INSERT INTO ilan (ilan_baslik, ilan_url, kategori_id, ilan_no,ilan_aciklama, ilan_lokasyon) VALUES ('$ilan_baslik','$ilan_url','$kategori_id','$ilan_no','$ilan_aciklama','$ilan_lokasyon') ";
$ilan_ekle = mysqli_query($db, $sql_query);
if ($sql_query) {
header("Location:/basarili");
} else {
header("Location:/hata");
}
}
 

 

wmaraci
reklam

VipTema VipTema Vip Tema Web Tasarım Kullanıcı
  • Üyelik 29.06.2011
  • Yaş/Cinsiyet 37 / E
  • Meslek Vip Tema Web Tasarım A.Ş.
  • Konum Tekirdağ
  • Ad Soyad Ö** I**
  • Mesajlar 1393
  • Beğeniler 704 / 703
  • Ticaret 21, (%100)
ilan_no sanırım ilanın id'si bu tarz sef link yapımlarında genelde id'yi eklerler sonuna karışıklık olmaması için. 1 - 2 yapmaktansa id eklemeyi düşünmelisiniz.
 

 

DeepJack DeepJack WM Aracı Kullanıcı
  • Üyelik 17.12.2017
  • Yaş/Cinsiyet 34 / E
  • Meslek DJ
  • Konum Antalya
  • Ad Soyad G** U**
  • Mesajlar 121
  • Beğeniler 16 / 39
  • Ticaret 8, (%100)
evet klasik olan o sonuna id eklemek ancak ben id eklemek istemiyorum wordpress tarzı tabloda aynı ilan_url olduğunda sonuna -1 ekletmek istiyorum
 

 

AhmetKarabulut AhmetKarabulut WM Aracı Kullanıcı
  • Üyelik 11.09.2013
  • Yaş/Cinsiyet 30 / E
  • Meslek Bilgisayar Mühendisi
  • Konum İzmir
  • Ad Soyad A** K**
  • Mesajlar 1077
  • Beğeniler 361 / 361
  • Ticaret 33, (%100)
Hocam bu olay düşündüğünüzden daha karmaşık. Girilen ilan tabloda var mı diye sorgu atıp, varsa sonuna 1 ekleyeceksiniz. Fakat 1 de var olabilir bu durumda 2 eklemelisiniz. Ve böyle artmalı bu durum. Aynı zamanda ilanın sonunda 1 rakamı olduğu durumu da göz önünde bulundurmalısınız. Türkiye'nin Dünya Sıralaması: 1 isimli bir başlığın url'si turkiyenin-dunya-siralamasi-1 olacak. Fakat bu başlıktan tekrar geldiğinde -1-1 olmalı sonu, algoritmanızı buna göre kurmalısınız.
BEYAZMASTER

kişi bu mesajı beğendi.

wmaraci
wmaraci

DeepJack DeepJack WM Aracı Kullanıcı
  • Üyelik 17.12.2017
  • Yaş/Cinsiyet 34 / E
  • Meslek DJ
  • Konum Antalya
  • Ad Soyad G** U**
  • Mesajlar 121
  • Beğeniler 16 / 39
  • Ticaret 8, (%100)

AhmetKarabulut adlı üyeden alıntı

Hocam bu olay düşündüğünüzden daha karmaşık. Girilen ilan tabloda var mı diye sorgu atıp, varsa sonuna 1 ekleyeceksiniz. Fakat 1 de var olabilir bu durumda 2 eklemelisiniz. Ve böyle artmalı bu durum. Aynı zamanda ilanın sonunda 1 rakamı olduğu durumu da göz önünde bulundurmalısınız. Türkiye'nin Dünya Sıralaması: 1 isimli bir başlığın url'si turkiyenin-dunya-siralamasi-1 olacak. Fakat bu başlıktan tekrar geldiğinde -1-1 olmalı sonu, algoritmanızı buna göre kurmalısınız.



PDO'da nasıl yapıldığını buldum ancak daha amatörüm

$connect = new PDO("mysql:host=localhost;dbname=testing", "root", "");
$slug = '';
if(isset($_POST["create"]))
{
//$slug = preg_replace(pattern, replacement, subject)
$slug = preg_replace('/[^a-z0-9]+/i', '-', trim(strtolower($_POST["title"])));

$query = "SELECT slug_url FROM slug WHERE slug_url LIKE '$slug%'";

$statement = $connect->prepare($query);
if($statement->execute())
{
$total_row = $statement->rowCount();
if($total_row > 0)
{
$result = $statement->fetchAll();
foreach($result as $row)
{
$data[] = $row['slug_url'];
}

if(in_array($slug, $data))
{
$count = 0;
while( in_array( ($slug . '-' . ++$count ), $data) );
$slug = $slug . '-' . $count;
}
}
}

$insert_data = array(
':slug_title' => $_POST['title'],
':slug_url' => $slug
);
$query = "INSERT INTO slug (slug_title, slug_url) VALUES (:slug_title, :slug_url)";
$statement = $connect->prepare($query);
$statement->execute($insert_data);

//echo $slug;
}


Bunu benim sisteme çevirmem lazım :)
 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al