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

Hasil database sebagai objek atau array?

Saya selalu menggunakan objek - tetapi saya tidak memasukkan data langsung dari kueri. Menggunakan fungsi 'set' saya membuat tata letak dan menghindari masalah dengan penggabungan dan penamaan tabrakan. Dalam kasus contoh 'nama_lengkap' Anda, saya mungkin akan menggunakan 'sebagai' untuk mendapatkan bagian nama, atur masing-masing dalam objek dan tawarkan 'get_full_name' sebagai anggota fn.

Jika Anda merasa ambisius, Anda dapat menambahkan segala macam hal ke 'get_age'. Tetapkan tanggal lahir sekali dan jadilah liar dari sana.

EDIT:Ada beberapa cara untuk membuat objek dari data Anda. Anda dapat menentukan kelas dan membuat objek atau Anda dapat membuatnya 'on the fly'.

--> Beberapa v contoh sederhana -- jika ini tidak cukup, saya dapat menambahkan lebih banyak.

dengan cepat:

$conn = DBConnection::_getSubjectsDB();  
$query = "select * from studies where Status = 1";  
$st = $conn->prepare( $query );  

$st->execute();  
$rows = $st->fetchAll();  
foreach ( $rows as $row )  
{  
    $study = (object)array();  
    $study->StudyId = $row[ 'StudyId' ];  
    $study->Name = $row[ 'StudyName' ];  
    $study->Investigator = $row[ 'Investigator' ];  
    $study->StartDate = $row[ 'StartDate' ];  
    $study->EndDate = $row[ 'EndDate' ];  
    $study->IRB = $row[ 'IRB' ];  

    array_push( $ret, $study );  
} 

ditentukan sebelumnya:

/** Single location info
*/
class Location  
{  
    /** Name  
    * @var string  
    */  
    public $Name;  

    /** Address  
    * @var string  
    */  
    public $Address;  

    /** City  
    * @var string  
    */  
    public $City;

    /** State
    * @var string
    */
    public $State;

    /** Zip
    * @var string
    */
    public $Zip;

    /** getMailing
    * Get a 'mailing label' style output
    */
    function getMailing()
    {  
         return $Name . "\n" . $Address . "\n" . $City . "," . $State . "  " . $Zip;
    }
}

penggunaan:

$conn = DBConnection::_getLocationsDB();  
$query = "select * from Locations where Status = 1";  
$st = $conn->prepare( $query );  

$st->execute();  
$rows = $st->fetchAll();  
foreach ( $rows as $row )  
{  
    $location = new Location();  
    $location->Name= $row[ 'Name' ];  
    $location->Address = $row[ 'Address ' ];  
    $location->City = $row[ 'City' ];  
    $location->State = $row[ 'State ' ];  
    $location->Zip = $row[ 'Zip ' ];  

    array_push( $ret, $location );  
} 

Kemudian nanti Anda dapat mengulang $ret dan mengeluarkan label surat:

foreach( $ret as $location )
{ 
    echo $location->getMailing();
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apakah urutan kolom penting di tabel MySQL Anda?

  2. Bagaimana cara mengubah kode MySQL menjadi pernyataan PDO?

  3. Cara Migrasi dari Oracle ke Server MySQL / Percona

  4. Cara termudah untuk mengubah array byte menjadi Blob di java

  5. Hapus beberapa baris dengan memilih kotak centang menggunakan PHP