Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

डेटाबेस वस्तुओं या सरणियों के रूप में परिणाम देता है?

मैंने हमेशा वस्तुओं का उपयोग किया है - लेकिन मैं डेटा को सीधे क्वेरी से नहीं डालता। 'सेट' फ़ंक्शन का उपयोग करके मैं लेआउट बनाता हूं और इसलिए जुड़ने और नामकरण टकराव के मुद्दों से बचता हूं। आपके 'full_name' उदाहरण के मामले में मैं शायद नाम भागों को प्राप्त करने के लिए 'as' का उपयोग करूंगा, प्रत्येक को ऑब्जेक्ट में सेट करूंगा और सदस्य fn के रूप में 'get_full_name' की पेशकश करूंगा।

यदि आप महत्वाकांक्षी महसूस कर रहे हैं तो आप 'get_age' में हर तरह की चीज़ें जोड़ सकते हैं। जन्मतिथि एक बार सेट करें और वहां से हट जाएं।

संपादित करें:आपके डेटा से ऑब्जेक्ट बनाने के कई तरीके हैं। आप कक्षा को पूर्वनिर्धारित कर सकते हैं और ऑब्जेक्ट बना सकते हैं या आप उन्हें 'फ्लाई पर' बना सकते हैं।

--> कुछ सरलीकृत उदाहरण - यदि यह पर्याप्त नहीं है तो मैं और जोड़ सकता हूं।

उड़ने पर:

$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 );  
} 

पूर्वनिर्धारित:

/** 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;
    }
}

उपयोग:

$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 );  
} 

फिर बाद में आप $ret और आउटपुट मेलिंग लेबल पर लूप कर सकते हैं:

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. एसक्यूएल समय के लिए एक स्ट्रिंग कास्ट करें

  2. एक टेक्स्ट पैराग्राफ में दूसरे से परिवर्तन/अंतर को कैसे हाइलाइट करें?

  3. MySQL में POSITION () फ़ंक्शन कैसे काम करता है

  4. कमांड लाइन में MySQL डेटाबेस कैसे आयात करें

  5. MySQL त्रुटि 2006 (HY000) लाइन 406 पर:MySQL सर्वर चला गया है