lostyazilim

Bu mysql veritabanı sorgusunda hata var mı?

8 Mesajlar 1.122 Okunma
lstbozum
wmaraci reklam

mehmet01 mehmet01 WM Aracı Kullanıcı
  • Üyelik 12.03.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek ...
  • Konum Adana
  • Ad Soyad M** Ç**
  • Mesajlar 665
  • Beğeniler 329 / 328
  • Ticaret 1, (%100)
Selamlar arkadaşlar, elimdeki mysql sorgusunu çalıştırdığım zaman sondan başa doğru sıralanacağına, baştan sona doğru sıralanıyor mesajlar. Kodun neresinde hata var acaba?

Kod bu:
mysql_query("SELECT * FROM (select * from mesajlar ORDER BY mesajlar.mesaj_id DESC) as m2 INNER JOIN sohbetler ON m2.mesaj_sohbet_id = sohbetler.sohbet_id WHERE sohbetler.sohbet_id = 531 GROUP BY sohbetler.sohbet_id ORDER BY m2.mesaj_id DESC");

'mesajlar' tablsounda 2 adet mesaj var.

mesaj_id | msj_gönderen | msj_alan | mesaj | msj_sohbet_id
1 | 1 | 2 | ilk mesaj | 1
2 | 1 | 2 | son mesaj | 1


sohbetler tablosu

sohbet_id | uye_1 | uye_2
1 | 1 | 2



Çıktı şu şekilde; ilk mesaj

Güzel hosting ekibine sordum, sistemde sorun yok, kodda bir sorun var dediler ama yazılımdan anlayan ekipleri olmadığı için birşey yapamadılar.
 

 

wmaraci
reklam

YazilimMimari YazilimMimari Eski adi: Turgay Can Kullanıcı
  • Üyelik 25.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Engineering Director
  • Konum İstanbul Avrupa
  • Ad Soyad T** C**
  • Mesajlar 771
  • Beğeniler 2 / 260
  • Ticaret 0, (%0)
group by sohbetler.sohbet_id

yaptığınızda select kısmında group by yaptığınız değerler dışında bir değer yazmamalısınız.
mehmet01

kişi bu mesajı beğendi.

https://www.linkedin.com/in/turgaycan/
Kaliteli kod yazılır.. (Günlük/Saatlik ücreti ile)

mehmet01 mehmet01 WM Aracı Kullanıcı
  • Üyelik 12.03.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek ...
  • Konum Adana
  • Ad Soyad M** Ç**
  • Mesajlar 665
  • Beğeniler 329 / 328
  • Ticaret 1, (%100)
Nasıl yani? Sadece "Select sohbet_id From..." şeklinde tek değer mi çekmem gerekiyor?
 

 

bQnyy bQnyy I am what i am. Kullanıcı
  • Üyelik 06.08.2017
  • Yaş/Cinsiyet 27 / E
  • Meslek Çevirmen ve Webmaster
  • Konum Diğer
  • Ad Soyad E** D**
  • Mesajlar 188
  • Beğeniler 427 / 68
  • Ticaret 1, (%100)
Hocam hatayı bulamadım ama pdo kullanmanızı tavsiye ederim
 

 

Kurumsal ve bireysel İngilizce çeviri ve makale işleriniz uygun fiyata yapılır.
wmaraci
wmaraci

YazilimMimari YazilimMimari Eski adi: Turgay Can Kullanıcı
  • Üyelik 25.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Engineering Director
  • Konum İstanbul Avrupa
  • Ad Soyad T** C**
  • Mesajlar 771
  • Beğeniler 2 / 260
  • Ticaret 0, (%0)
:) pdo ne alaka güzel kardeşim, pdo sorgu atmıyormu?

@mehmet01, group by'lı sorgularda sadece o değeri çekmen gerekir.

Ne yapmaya çalıştığını, tablo yapı ve ilişkilerini paylaşırsan sorguyu yazmanda yardımcı oluruz.
 

 

https://www.linkedin.com/in/turgaycan/
Kaliteli kod yazılır.. (Günlük/Saatlik ücreti ile)

mehmet01 mehmet01 WM Aracı Kullanıcı
  • Üyelik 12.03.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek ...
  • Konum Adana
  • Ad Soyad M** Ç**
  • Mesajlar 665
  • Beğeniler 329 / 328
  • Ticaret 1, (%100)

bQnyy adlı üyeden alıntı

Hocam hatayı bulamadım ama pdo kullanmanızı tavsiye ederim

Teşekkürler, herkes pdo öneriyor ama daha uzmanlaşamadım bu konuda, izlediğim videolarda mysql ile anlatıyordu ben de öyle başladım ve daha da fırsat bulamadım pdo'ya geçmeye. Biraz bakındım ama mysql'den bayağı farklı gelince gözüm korktu. Sanirim mysqli'ye geçiş yaparim bundan sonra da. Yine de öneri için teşekkür ederim.
bQnyy

kişi bu mesajı beğendi.

mehmet01 mehmet01 WM Aracı Kullanıcı
  • Üyelik 12.03.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek ...
  • Konum Adana
  • Ad Soyad M** Ç**
  • Mesajlar 665
  • Beğeniler 329 / 328
  • Ticaret 1, (%100)

YazılımMimarı adlı üyeden alıntı

:) pdo ne alaka güzel kardeşim, pdo sorgu atmıyormu?

@mehmet01, group by'lı sorgularda sadece o değeri çekmen gerekir.

Ne yapmaya çalıştığını, tablo yapı ve ilişkilerini paylaşırsan sorguyu yazmanda yardımcı oluruz.

Hocam yapmak istediğim şey şu. Bir mesajlaşma sistemi var. Tıpkı whatsapp veya facebook messenger gibi. Kişinin yaptığı tüm sohbetleri alt alta listeliyorum. Sonra da bu sohbetlere ait son mesajı sohbetin altında gösteriyorum.

Sohbetler tablosuna sohbet eden iki kişinin üye id'sini ekliyorum. Bir de mesajlar tablom var. Buraya da mesajları ekliyorum.

Mesela mehmet (id:1), ahmet (id:2)'e 'selam' diye mesaj sohbetler tablosu şu şekilde oluyor;
Sohbet_id = 1
Uye1 = 1
Uye2 = 2

Mesajalar tablosu da şu şekilde oluyor
Mesaj_id = 1
Msj_gonderen = 1
Msj_alan = 2
Mesaj_sohbet_id = 1 (sohbet tablosundaki id)

İşte bu şekilde sohbetler tablosunu listeleyip bu sohbetler tablosunun son mesajini da göstermek istiyorum. Normalde döngü içinde sorgu yaparak halledebiliyorum ama döngü içinde sorgu yapmak sistemi çok yorduğu için tek sorguda halletmeye çalışıyorum.
 

 

mehmet01 mehmet01 WM Aracı Kullanıcı
  • Üyelik 12.03.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek ...
  • Konum Adana
  • Ad Soyad M** Ç**
  • Mesajlar 665
  • Beğeniler 329 / 328
  • Ticaret 1, (%100)

YazılımMimarı adlı üyeden alıntı

:)
@mehmet01, group by'lı sorgularda sadece o değeri çekmen gerekir.

Hocam burda yanılıyor olmayasınız? Bir önceki hostingimde yukarıdaki kod çok güzel çalışıyordu. Her sohbet için son mesajı ve mesaj tarihini, sohbet id'sini, sohbeti paylaşan kişileri çekebiliyordum. Mysql'in bu kadar kısıtlı olduğunu düşünmüyorum.
 

 

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