Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Saya perlu mendapatkan daftar pengguna yang sebelumnya telah dikirimi pesan (MySQL)

Pertama Anda perlu mendapatkan field user_id di tabel (pesan). Kemudian Anda dapat bergabung dengan tabel ini dan menulis pilih seperti :

select * from users usr
join messages msg on msg.user_id = usr.user_id
where msg.incoming_msg_id is not null

Nanti akan muncul semua pengguna yang mengirim pesan.

@PERBARUI

Jika Anda mengatakan bidang outgoing_msg_id apakah user id disana pilih akan seperti ini :

select DISTINCT usr.user_id,usr.fname,usr.lname from users usr
join messages msg on msg.outgoing_msg_id = usr.user_id

Pilihan ini akan menampilkan semua pengguna yang mengirim pesan.

@EDIT 3

So your php code should be like :

<?php
    session_start();
    include_once "config.php";
    $outgoing_id = $_SESSION['unique_id'];
    $sql = "SELECT * FROM users WHERE NOT unique_id = {$outgoing_id} and unique_id in (select outgoing_msg_id from messages)  ORDER BY user_id DESC";
    $query = mysqli_query($conn, $sql);
    $output = "";
    if(mysqli_num_rows($query) == 0){
        $output .= "No users are available to chat";
    }elseif(mysqli_num_rows($query) > 0){
        include_once "data.php";
    }
    echo $output;
?>



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana algoritma peringkat Reddit dan Hacker News digunakan?

  2. Menghindari kebuntuan MySQL saat memutakhirkan bersama ke kunci eksklusif

  3. IO.FileNotFoundException di MySql.Data.dll:Tidak dapat memuat System.Security.Permissions

  4. Bagaimana cara menambahkan serangkaian string dalam penambahan id di tabel apa pun?

  5. Gunakan Database Relasional MySQL di Ubuntu 10.04 LTS (Lucid)