Ambil array dengan $ wpdb


9

Saya mencoba mengonversi kode ini untuk menggunakan $ wpdb.

$data = array();

$query = "SELECT * FROM videos";
$query_exec = mysql_query($query) or die();

while($row = mysql_fetch_array($query_exec)) {
    if ( $row['video'] == "http://youtu.be/".end(explode('http://youtu.be/',$row['video'])) ) {
            $data[$row['id']] = end(explode('http://youtu.be/', $row['video']));
        } else {
            $data[$row['id']] = end(explode('?v=', $row['video']));
        }   
    }

Jadi saya melakukannya:

$query = $wpdb->get_results("SELECT * FROM videos");

Tetapi bagaimana saya bisa mengambil array? Terima kasih sebelumnya untuk bantuan.

Jawaban:


22

wpdb's get_resultsmetode mengambil argumen kedua opsional yang memungkinkan Anda menentukan bagaimana data dikembalikan. Pengembalian default adalah objek. Tetapi Anda juga dapat mengaturnya ke ...

OBJECT - hasilnya akan menjadi output sebagai array yang diindeks secara numerik dari objek baris.

OBJECT_K - hasilnya akan menjadi output sebagai array asosiatif dari objek baris, menggunakan nilai kolom pertama sebagai kunci (duplikat akan dibuang).

ARRAY_A - hasilnya akan ditampilkan sebagai array array asosiatif yang diindeks secara numerik, menggunakan nama kolom sebagai kunci.

ARRAY_N - hasilnya akan ditampilkan sebagai array yang diindeks secara numerik dari array yang diindeks secara numerik.

(dari naskah kuno )

Anda mungkin mau ARRAY_A.

<?php
$query = $wpdb->get_results("SELECT * FROM videos", ARRAY_A);

Sayangnya, wpdbtidak memungkinkan Anda untuk "streaming" hasil seperti yang Anda lakukan, jadi Anda harus menggunakan loop foreach.

<?php
foreach($query as $row)
{
    // do stuff with $row here.
}

Ok terima kasih. Tapi bagaimana dengan garis ini? while($row = mysql_fetch_array($query_exec)) {
Tandai

Lihat hasil edit saya, Anda hanya perlu menggunakan foreachlingkaran alih-alih while.
chrisguitarguy

Sial, saya melewatkan ARRAY_A pertama kali, jadi saya mendapat kesalahan di muka saya. Terima kasih banyak.
Tandai
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.