-
Üyelik
26.11.2019
-
Yaş/Cinsiyet
30 / E
-
Meslek
Öğrenci
-
Konum
İzmir
-
Ad Soyad
E** Ç**
-
Mesajlar
217
-
Beğeniler
30 / 25
-
Ticaret
5, (%100)
Merhaba arkadaşlar,
ben şimdi mesajlaşma sistemi yazdım.
Burada
karşı taraftan mesajı while ile alıyorum örneğin bu şekile ama karşı taraftan aynı kişi yani id den gelen veriyi de while döngüsü alt alta alıyor ben istiyorum ki aynı kişiden gelen mesaj while döngüsünde bir altta sıralaması yerine gönerdiği son mesaj görünsün ama başkası mesaj gönderdiğinde onu döngü içine alsın mesela şu şekilde wmaracinda biri size mesaj attında son attı mesaj görünyüor ama başkasının attığı mesaj bir altta görünüyor o şekilde bbunu nasıl yapabilirim ?
$mesajlar=$db->prepare("SELECT * from mesaj where gonderilen_id=:kullanici_id order by mesaj_id DESC ");
$mesajlar->execute(array(
'kullanici_id' => $kullanicicek['kullanici_id']
));
while($mesaj=$mesajlar->fetch(PDO::FETCH_ASSOC)){
-
Üyelik
13.03.2019
-
Yaş/Cinsiyet
34 / E
-
Meslek
Pc programcılığı
-
Konum
Muğla
-
Ad Soyad
G** E**
-
Mesajlar
61
-
Beğeniler
2 / 13
-
Ticaret
1, (%100)
php while döngüsü veriyi 1 kez çekme
aslında while ile 1 kez veri çekme çok yanlıs bir başlık olmuş while yani döngünün çalışma mantığı şudur:
id,isim,mesaj,okundu gibi veriler vardır ve bu veriler deneme stunundadır.
while herşeyi çeker , ona şart koşarsın şartlar kadar veri çeker
sende bu verilerin hepsini cekmek istersen şu şekilde kullanırsın
$sorgu="SELECT * FROM deneme";
$gonder = mysqli_query($baglanti, $sorgu);
while($satir = mysqli_fetch_array($gonder))
{
?>
|
|
}
?>
bu verilerin sadece 1 tanesini çeksin baştaki yada sondaki dersen şu şekilde yaparsın ki mantıksız bir kod olduğunu düşünüyorum
$sorgu="SELECT * FROM deneme order by id desc limit 1";
$gonder = mysqli_query($baglanti, $sorgu);
while($satir = mysqli_fetch_array($gonder))
{
?>
|
|
}
?>
bu şekilde çıktı sıralama yapmaksınızın hepsini çekecektir buna bir şart koyalım mesela diyelimki sadece okunanları cekelim
$sorgu="SELECT * FROM deneme where okundu=''1";
$gonder = mysqli_query($baglanti, $sorgu);
while($satir = mysqli_fetch_array($gonder))
{
?>
|
|
}
?>
senin yapmak istediğin tam olarak nedir sorgu içinde sorgumu oluşturmak
paint ile çizersen görsel daha iyi olabilir
http://www.onnoajans.com
-
Üyelik
13.03.2019
-
Yaş/Cinsiyet
34 / E
-
Meslek
Pc programcılığı
-
Konum
Muğla
-
Ad Soyad
G** E**
-
Mesajlar
61
-
Beğeniler
2 / 13
-
Ticaret
1, (%100)
Demek istediğiniz mesajı gonderen kişilerin son mesajını ismin altında çıkmasını istiyorsunuz ve güncellensin istiyorsunuz sanırım doğrumu anladım. Ve sıralamada buna göre değişecek muhtemelen ??
mehmet
mesaj
-----------
ahmet
mesaj
-------
ayşe
mesaj
--------
http://www.onnoajans.com
-
Üyelik
13.03.2019
-
Yaş/Cinsiyet
34 / E
-
Meslek
Pc programcılığı
-
Konum
Muğla
-
Ad Soyad
G** E**
-
Mesajlar
61
-
Beğeniler
2 / 13
-
Ticaret
1, (%100)
bu kodu denermisin...
Aynı veriyi birden fazla göstermemek için group by kullanırız mesaj_id sürekli değişeceği için gonderilen id kullandık
yani mesajı gönderen kişinin id si 2 olsun ve gelen kutusundaki mesajların 6 sını id si 2 olan kişi gönderdi diyelim sadece en sondakini gösterecek
$mesajlar=$db->prepare("SELECT gonderilen_id from mesaj where gonderilen_id=:kullanici_id group by gonderilen_id DESC ");
$mesajlar->execute(array(
'kullanici_id' => $kullanicicek['kullanici_id']
));
while($mesaj=$mesajlar->fetch(PDO::FETCH_ASSOC)){
1 kişi bu mesajı beğendi.
http://www.onnoajans.com
-
Üyelik
13.03.2019
-
Yaş/Cinsiyet
34 / E
-
Meslek
Pc programcılığı
-
Konum
Muğla
-
Ad Soyad
G** E**
-
Mesajlar
61
-
Beğeniler
2 / 13
-
Ticaret
1, (%100)
Rica ederim . Kodları test edemediğim için gelişi güzel yazdım.
Düzelmesine sevindim kalın sağlıcakla
1 kişi bu mesajı beğendi.
http://www.onnoajans.com