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

Membandingkan dua array dengan nama kunci yang berbeda

Berikan salah satu atau kedua bidang sebuah alias agar cocok dengan kunci:

$sql1 = "SELECT modname AS module FROM users_modules WHERE email='$email'";

Sekarang ada kunci module daripada modname .

Anda dapat menggunakan array_diff untuk menemukan perbedaan antara array selama mereka memiliki struktur yang sama. Dalam kasus Anda, ini akan menghapus dua kunci lainnya dari kueri DB kedua Anda.

Misalnya:

$sql1 = "SELECT modname AS module FROM users_modules WHERE email='$email'";
$result1 = $conn->query($sql1);
while ($row = $result1->fetch_assoc()){
   $indMods[] = $row;
}

$sql2 = "SELECT module FROM modules WHERE level = '$level'";
$result2 = $conn->query($sql2);
while ($row2 = $result2 -> fetch_assoc()){
   $allMods[] = $row2;
}

$difference = array_diff($indMods, $allMods);

Dokumentasi untuk array_diff PHP :http://php.net/manual/en/function.array- diff.php

Perhatikan bahwa ada banyak cara untuk melakukan ini. Ini hanya satu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Memindai tabel mysql dari bawah

  2. Ratakan data anak/orang tua dengan jumlah kolom yang tidak diketahui

  3. MySQL mengonversi datetime ke unixtime?

  4. Audit logging untuk data produk?

  5. SQL:hitung jumlah nilai yang berbeda di setiap kolom