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

PHP/mySQL - cara mengambil baris bersarang ke dalam array multidimensi

Kueri akan terlihat seperti ini:

SELECT * FROM scales
INNER JOIN items ON scales.id = items.scale_id

Jika Anda ingin mengulangi dengan loop bersarang, Anda harus menarik data ini ke dalam larik - semoga Anda tidak menarik kembali terlalu banyak sehingga akan memakan terlalu banyak memori.

$scales = array();

while ($row = mysql_fetch_assoc($data))
{
    if (!isset($scales[$row['scale_id']]))
    {
        $row['items'] = array();
        $scales[$row['scale_id']] = $row;
    }

    $scales[$row['scale_id']]['items'][] = $row;
}

Kemudian Anda dapat mengulang:

foreach ($scales as $scale)
{
    foreach ($scale['items'] as $item)
        ; //... do stuff
}

Catatan:ini agak naif dalam $scale dan $item keduanya akan berisi bidang dari KEDUA tabel... jika itu masalah maka Anda perlu mengubah tugas di loop di atas untuk menarik hanya bidang yang Anda inginkan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara terbaik untuk kesalahan menangkap LOAD DATA LOCAL INFILE?

  2. Kesalahan Server Internal Django 500 - Tidak Dikonfigurasi dengan Benar:Kesalahan saat memuat modul MySQLdb:

  3. masukkan kecepatan di mysql vs cassandra

  4. Cloud 9 IDE tidak dapat terhubung ke database

  5. Bagaimana cara mengatur ulang kata berhenti di MYSQL?