PDA

Orijinalini görmek için tıklayınız : MySql aynı sütun içinde aynı anda iki farklı kriterde arama


orve
24-07-2017, 11:51:49
Merhaba arkadaşlar.

Haber sitem var ve sitede haberlerin içinde yer alan linkleri tespit etmeye çalışıyorum. Haber detayları MySql'da kaynak olarak oluşturulduğu için Tablo içinde "Ara" yapıp "a href" dediğimde linkler geliyor.

Ancak site içinde yaptığım linklerle işim yok, onları bulmasam da olur.

O zaman soru şu:

Veritabanı adı: sitem
Tablo adı: haber
Sütun adı: detay

sütununda, aynı anda hem "a href" barındıranları bulacağım hem de "a href="http://www.kendisitem.com" yazanları da içinden eleyerek göstermeyecek bana.

Nasıl yapabilirim?

İşte bu detay sütununda

Angry
24-07-2017, 12:14:42
Eşit değil ise diyebilirsiniz.Örnek :select * from haber where detay='a href' and detay!='a href="http://www.kendisitem.com';

orve
24-07-2017, 12:16:56
Eşit değil ise diyebilirsiniz.Örnek :select * from haber where detay='a href' and detay!='a href="http://www.kendisitem.com';

Bu sorgu seçeneğinden yapılıyor, ben Ara seçeneğini kullanıyordum. Sorgu'dan düzeltme ya da değişiklikler yapılıyor diye biliyordum. Öğreneceğiz daha :)

EK: Maalesef olmadı hocam. Yanlış ya da eksik de anlatmış olabilirim.

haber tablosunun içinde, 20'ye yakın sütun var; başlık, tarih, etiket, detay, yazar vs diye.

detay sütunu, haberlerin ana metninin olduğu yer.

bu sütun içerisindeki metinde yer alan gerek kendi siteme verilen linkler gerekse de dışarıya verilen linkler var.

a href diye arama yapınca, site içine veya dışına verilen linklerin olduğu haberler listeleniyor, satırlar halinde.

ama kendi siteme verdiğim link sayısı çok olduğu için, onlar arama sonucunda çıkmasın istiyorum

Angry
24-07-2017, 12:21:41
Demek istediğiniz arama yaparken nasıl kullanacağız sanırım.

NOT LIKE derseniz bu satırları aramaz.Sorgunuzu yazarsanız daha iyi yardımcı olabilirim :)

orve
24-07-2017, 12:38:51
Demek istediğiniz arama yaparken nasıl kullanacağız sanırım.

NOT LIKE derseniz bu satırları aramaz.Sorgunuzu yazarsanız daha iyi yardımcı olabilirim :)

:D sorgu aracını kullanmayı pek bilmediğim ve zarar verme ihtimalimden dolayı tercih etmediğim için, pek kullanmaya yanşmıyorum. Ara seçeneği var ya hocam, ordan yapıyordum. Orası da sadece tek ölçütlü arama yapıyor.

Ama sizin ilk mesajınızın ardından, sorgu seçeneğiyle de, aramada yaptığımın aynısına ulaştım ve bir adım kaldı :D

SELECT * FROM haber WHERE detay LIKE '%a href%';

Şimdi hocam, bunu yazınca, detay sütünu içerisinde a href yazan ne varsa buluyor, doğru mu? doğru.

Bir adım kaldı benim isteğime, o da şu: bu satırın devamına öyle bir şey ekleyeceğiz ki, burada bulduğu 800 satırdan, içinde "a href="http://www.kendisitem" yazanları göstermesin. atıyorum:

a href="http://www.onunsitesi
a href="http://www.bununsitesi

gibi içerik barındıranlar kalsın

Angry
24-07-2017, 12:41:34
SELECT * FROM haber WHERE detay LIKE '%a href%' AND detay NOT LIKE '%a href="http://www.kendisitem%';

Aradığın bu sanırım :)

orve
24-07-2017, 12:49:34
SELECT * FROM haber WHERE detay LIKE '%a href%' AND NOT LIKE '%a href="http://www.kendisitem%';

Aradığın bu sanırım :)

Hocam, bunu aynen yazdım (kendisitem kısmını değiştirerek tabii ki) ama yine kırmızı ekran verdi :) yani olumsuz

ama internetten de bakınca, sanki AND'den sonra da sütun adını yani detay'ı eklemek gerektiğini düşündüm ve bazı sonuçları verdi.

Çıkan sonuçlara baktığımda doğru yaptığımızı düşünüyorum ama teknik olarak doğru mu sizce AND'den sonra sütun eklemek

SELECT * FROM haber WHERE detay LIKE '%a href%' AND detay NOT LIKE '%a href="http://www.kendisitem%';

Aktifhosting
24-07-2017, 13:24:03
Hocam, bunu aynen yazdım (kendisitem kısmını değiştirerek tabii ki) ama yine kırmızı ekran verdi :) yani olumsuz

ama internetten de bakınca, sanki AND'den sonra da sütun adını yani detay'ı eklemek gerektiğini düşündüm ve bazı sonuçları verdi.

Çıkan sonuçlara baktığımda doğru yaptığımızı düşünüyorum ama teknik olarak doğru mu sizce AND'den sonra sütun eklemek

SELECT * FROM haber WHERE detay LIKE '%a href%' AND detay NOT LIKE '%a href="http://www.kendisitem%';

Tabiki eklemelisiniz, nihayetinde 'Şuradan şunları getir' demişsiniz daha sonrada 'Şuradan şunları getirme' demek için AND den sonra detay eklemeniz gerekir şu an son sorgu aradığınız sorgudur

orve
24-07-2017, 13:37:06
Tabiki eklemelisiniz, nihayetinde 'Şuradan şunları getir' demişsiniz daha sonrada 'Şuradan şunları getirme' demek için AND den sonra detay eklemeniz gerekir şu an son sorgu aradığınız sorgudur

Aynen öyleymiş @Aktifhosting hocam.

@Angry hocam, çok teşekkür ederim size de...

Angry
24-07-2017, 13:46:53
Aynen öyleymiş @Aktifhosting hocam.

@Angry hocam, çok teşekkür ederim size de...


Evet gözden kaçırmışım orayı aynen böyledir kod :) Rica ederim kolay gelsin.