cari

Rumah  >  Soal Jawab  >  teks badan

php untuk masalah traversal tatasusunan

< /p>

Seperti yang ditunjukkan dalam rajah, cara membuat nombor yang sama dalam order_id hanya dikeluarkan sekali dalam gelung

Perniagaan adalah seperti ini. Jadual ini merekodkan hubungan antara pesanan dan id pesanan ialah id pesanan id pesanan yang sama

Maka persoalannya ialah bagaimana untuk menggabungkan order_id yang sama menjadi satu output apabila memaparkan senarai pesanan

Gambar di atas menunjukkan output berasingan bagi order_id yang sama dan cara menggabungkannya

PHP中文网PHP中文网2789 hari yang lalu613

membalas semua(6)saya akan balas

  • 高洛峰

    高洛峰2017-05-16 13:05:11

    $user_orders = 你获取的数据库数据;
    $order_array = array();
    foreach($user_orders as $value){
        $order_array[$value['order_id']][] = something;//一些你想放进去的数据 
    }
    return $order_array;

    Keluarkan tatasusunan mengikut ID pesanan, dan gabungkan yang sama secara langsung (sila beritahu saya jika ada apa-apa yang salah)

    balas
    0
  • 巴扎黑

    巴扎黑2017-05-16 13:05:11

    Ini tiada kaitan dengan gelung foreach anda dan segala-galanya berkaitan dengan logik untuk memaparkan halaman.

    Contohnya: apabila anda mendapati bahawa sudah ada nombor pesanan yang sama sebelum ini, ia akan menjadi ok jika anda tidak lagi memaparkan nombor pesanan itu

    balas
    0
  • 高洛峰

    高洛峰2017-05-16 13:05:11

    Terdapat masalah dengan struktur jadual Secara amnya, terdapat jadual pesanan dan jadual produk pesanan Dengan struktur jadual semasa anda, anda boleh membuat pertanyaan terlebih dahulu mengikut order_id dan kemudian untuk membuat pertanyaan untuk semua produk dalam ini. order_id

    balas
    0
  • 某草草

    某草草2017-05-16 13:05:11

    Ini sepatutnya hasil yang anda inginkan, proses dan kemudian ulang.

    $arr = array(
                array('pro_id'=>1,'order_id'=>1),
                array('pro_id'=>2,'order_id'=>1),
                array('pro_id'=>3,'order_id'=>2),
                array('pro_id'=>4,'order_id'=>3),
                array('pro_id'=>5,'order_id'=>4),
            );
    $arr = array_column($arr,null,'order_id');
    print_r($arr);die;
    //打印结果如下
    Array
    (
        [1] => Array
            (
                [pro_id] => 2
                [order_id] => 1
            )
    
        [2] => Array
            (
                [pro_id] => 3
                [order_id] => 2
            )
    
        [3] => Array
            (
                [pro_id] => 4
                [order_id] => 3
            )
    
        [4] => Array
            (
                [pro_id] => 5
                [order_id] => 4
            )
    
    )

    balas
    0
  • ringa_lee

    ringa_lee2017-05-16 13:05:11

    Alih keluar pendua apabila mengambil pangkalan data

    balas
    0
  • phpcn_u1582

    phpcn_u15822017-05-16 13:05:11

    pilih dinstinct(order_id)

    balas
    0
  • Batalbalas