/
  • گرفتن آرایه ها در شی گرایی

  • ارسال پاسخ   امتیاز موضوع:
    • 1 رأی - میانگین امیتازات: 4
    • 1
    • 2
    • 3
    • 4
    • 5

    حالت موضوعی | حالت خطی گرفتن آرایه ها در شی گرایی
    نویسنده پیام
    molana آفلاین
    چالیست - chalist
    *******

    ارسال‌ها: 1,772
    تاریخ عضویت: ۱۳۸۷ آذر ۳۰
    اعتبار: 60
    تشکرها : 1644
    ( 1550 تشکر در 1015 ارسال )
    ارسال: #1
    گرفتن آرایه ها در شی گرایی
    درود بر همه
    من کم کم دارم شی گرایی رو شروع می کنم
    برای همین اینجوری شروع کردم
    از دوستان حرفه ای یه سوال دارم
    جطور می تونم آرایه ها رو برکپگردونم و چاپ کنم
    مثلا با فچ کردن از پایگاه داده
    کد PHP:
    <?php
        
    class db
        
    {
            private 
    $dblink;
            private 
    $query;
            
            function 
    __construct()
            {
                
    define("_HOST""localhost");
                
    define("_USER""root");
                
    define("_PASS""");
                
    define("_NAME""st");
                
                
    $this->dblink mysql_connect(_HOST_USER_PASS_NAME) or die('connect ');
                
    mysql_select_db(_NAME$this->dblink);

            }
            
            function 
    set_query($query)
            {
                
    $this->query $query;
            }
        
            
    //     NUM Rows
            
    function num_row()
            {
                
    $result mysql_query($this->query) or die('num row query error');
                
    $num_row mysql_num_rows($result) or die('num row error');
                return 
    $num_row;
                
            }
            
    //   Fetch rows
            
    function fetch_row()
            {
                
    $result = @mysql_query($this->query) or die('select query error');
                
    $fetch = @mysql_fetch_array($result) or die('select all error');
                return 
    $fetch;
            }
        }
    ?>

    حالا چطور از تابع num_row و fetch_row استفاده کنم؟

    کدی که من نوشتم اینه ولی جواب نمی ده

    کد PHP:
        $a = new db();
        
    $a->set_query("select * from exam");
        echo 
    $a->fetch_row(); 

    نظرتون رو هم بگین که کلا روش کدنوشتن درسته یا نه

    ممنون
    __________________________________________________________________________
    همه جوره اش رو داریم ظاهرن
    ۱۳۸۸ فروردين ۱۶ ۱۰:۰۱ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    molana آفلاین
    چالیست - chalist
    *******

    ارسال‌ها: 1,772
    تاریخ عضویت: ۱۳۸۷ آذر ۳۰
    اعتبار: 60
    تشکرها : 1644
    ( 1550 تشکر در 1015 ارسال )
    ارسال: #2
    RE: گرفتن آرایه ها در شی گرایی
    محمدامین عزیز سپاسگذارم
    اما اینو نفهمیدم
    نقل قول: num_row براش یه تابع جدا تعریف کن
    یه تابع جداست دیگه نیست؟
    من اینو اصلاحش کردم به این صورت
    یه نگاهی بهش بندازین:
    کد PHP:
    <?php
        
    class db
        
    {
            private 
    $dblink;
            private 
    $query;
            private 
    $num_row;
            private 
    $result;
            private 
    $fetch;
            
            function 
    __construct()
            {
                
    define("_HOST""localhost");
                
    define("_USER""root");
                
    define("_PASS""");
                
    define("_NAME""st");
                
                
    $this->dblink mysql_connect(_HOST_USER_PASS_NAME) or die('connect ');
                
    mysql_select_db(_NAME$this->dblink);
            }
            
            function 
    set_query($query)
            {
                
    $this->query $query;
            }
        
            
    //     NUM Rows
            
    function set_num_row()
            {
                
    $result mysql_query($this->query) or die('num row query error');
                
    $this->num_row mysql_num_rows($result) or die('num row error');
            }
            
            function 
    get_num_row()
            {
                echo 
    $this->num_row;
            }
            
            
    //   Fetch rows
            
    function fetch_row()
            {
                
    $this->result = @mysql_query($this->query) or die('select query error');
                
    $this->fetch = @mysql_fetch_array($this->result) or die('select all error');
            }
            
            function 
    get_fetch()
            {
                for(
    $i=0$i<$this->num_row; ++$i)
                {
                    
    $row $this->fetch();
                    echo 
    print_r($row);
                } 
            }
            
            function 
    __distruct()
            {
                
    mysql_close();
            }
        }
        
    ?>

    و اینجوری ازش استفاده کردم که خطا داد:
    کد PHP:
        include('db.php');
        
        
    $a = new db();
        
    $a->set_query("select * from exam");
        
    $a->set_num_row();
        
    $a->get_fetch(); 

    خطا هم اینه :
    کد:
    Fatal error: Call to undefined method db::fetch() in D:\wamp\www\z1\db.php on line 49
    __________________________________________________________________________
    همه جوره اش رو داریم ظاهرن
    (آخرین ویرایش در این ارسال: ۱۳۸۸ فروردين ۱۷ ۰۱:۰۴ عصر، توسط molana.)
    ۱۳۸۸ فروردين ۱۷ ۱۲:۳۶ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    hosseintdk775 آفلاین
    حسین بقایی
    ****

    ارسال‌ها: 380
    تاریخ عضویت: ۱۳۸۷ دي ۱۵
    اعتبار: 11
    تشکرها : 423
    ( 412 تشکر در 246 ارسال )
    ارسال: #3
    RE: گرفتن آرایه ها در شی گرایی
    بسم الله الرحمن الرحیم
    سلام
    یک سوالی داشتم / البته چندان به شی گرایی هم آشنایی ندارم ولی:
    چرا در کد زیر:
    کد PHP:
    include('db.php');
        
        
    $a = new db();
        
    $a->set_query("select * from exam");
        
    $a->set_num_row();
        
    $a->get_fetch(); 

    در قسمت زیر:
    کد PHP:
    $a = new db(); 

    این پارانتز ها را گذاشته اید؟

    مگر نباید اینگونه باشد؟ :
    کد PHP:
    $a = new db

    ؟
    __________________________________________________________________________
    یه توسعه دهنده!
    ۱۳۸۸ فروردين ۱۷ ۰۵:۲۹ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    molana آفلاین
    چالیست - chalist
    *******

    ارسال‌ها: 1,772
    تاریخ عضویت: ۱۳۸۷ آذر ۳۰
    اعتبار: 60
    تشکرها : 1644
    ( 1550 تشکر در 1015 ارسال )
    ارسال: #4
    RE: گرفتن آرایه ها در شی گرایی
    والا فرقی نمی کنه
    تو جفتشون کار می کنه
    اما حق با شماست
    درستش همونیه که شما می گین
    __________________________________________________________________________
    همه جوره اش رو داریم ظاهرن
    ۱۳۸۸ فروردين ۱۷ ۰۵:۳۳ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    hosseintdk775 آفلاین
    حسین بقایی
    ****

    ارسال‌ها: 380
    تاریخ عضویت: ۱۳۸۷ دي ۱۵
    اعتبار: 11
    تشکرها : 423
    ( 412 تشکر در 246 ارسال )
    ارسال: #5
    RE: گرفتن آرایه ها در شی گرایی
    بسم الله الرحمن الرحیم
    سلام
    بنظرم باید ایراد از خط 49 در کد اصلی باشد ( که در خطا هم خودش ذکر کرده است )/ در خطا هم ذکر شده که همچین متدی وجود ندارد.

    منظورم این خطه:
    کد PHP:
    $row $this->fetch(); 

    شما اینگونه بنویسید ببینید چه می شود:
    کد PHP:
    $row $this->fetch
    __________________________________________________________________________
    یه توسعه دهنده!
    (آخرین ویرایش در این ارسال: ۱۳۸۸ فروردين ۱۷ ۰۵:۴۲ عصر، توسط hosseintdk775.)
    ۱۳۸۸ فروردين ۱۷ ۰۵:۴۰ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    molana آفلاین
    چالیست - chalist
    *******

    ارسال‌ها: 1,772
    تاریخ عضویت: ۱۳۸۷ آذر ۳۰
    اعتبار: 60
    تشکرها : 1644
    ( 1550 تشکر در 1015 ارسال )
    ارسال: #6
    RE: گرفتن آرایه ها در شی گرایی
    درست شد
    خروجی فقط یه یک بود
    خوب قاعدتاً من اینو نمی خوام
    من می خوام اطلاعات پایگاه داده رو که کانکت کردم بهش چاپ کنم
    چی کار کنم؟
    __________________________________________________________________________
    همه جوره اش رو داریم ظاهرن
    (آخرین ویرایش در این ارسال: ۱۳۸۸ فروردين ۱۷ ۰۶:۱۰ عصر، توسط molana.)
    ۱۳۸۸ فروردين ۱۷ ۰۶:۰۶ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    hosseintdk775 آفلاین
    حسین بقایی
    ****

    ارسال‌ها: 380
    تاریخ عضویت: ۱۳۸۷ دي ۱۵
    اعتبار: 11
    تشکرها : 423
    ( 412 تشکر در 246 ارسال )
    ارسال: #7
    RE: گرفتن آرایه ها در شی گرایی
    بسم الله الرحمن الرحیم
    سلام
    خوب من کدتون رو به این صورت تغییر دادم:

    کد PHP:
    <?php
        
    class db
        
    {
            private 
    $dblink;
            private 
    $query;
            private 
    $num_row;
            private 
    $result_num_row;
            private 
    $result_fetch;
            private 
    $fetch;
            
            function 
    __construct()
            {
                
    define("_HOST""localhost");
                
    define("_USER""root");
                
    define("_PASS""");
                
    define("_NAME""st");
                
                
    $this->dblink mysql_connect(_HOST_USER_PASS_NAME) or die('connect ');
                
    mysql_select_db(_NAME$this->dblink);
            }
            
            function 
    set_query($query)
            {
                
    $this->query $query;
            }
        
            
    //     NUM Rows
            
    function set_num_row()
            {
                
    $result_num_row mysql_query($this->query) or die('num row query error');
                
    $this->num_row mysql_num_rows($result_num_row) or die('num row error');
            }
            
            function 
    get_num_row()
            {
                echo 
    $this->num_row;
            }
            
            
    //   Fetch rows
            
    function set_fetch()
            {
                
    $result_fetch mysql_query($this->query) or die('select query error');
                
    $this->fetch mysql_fetch_array($result_fetch) or die('select all error');
            }
            
            function 
    get_fetch()
            {
                for(
    $i=0$i $this->num_row; ++$i)
                {
                    
    $row $this->fetch;
                    echo 
    print_r($row);
                } 
            }
            
            function 
    __distruct()
            {
                
    mysql_close();
            }
        }
        
    ?>

    و برای نشان دادن مقادیر به این صورت عمل کنید:
    کد PHP:
    <?php
        
        
    include('db.php');
        
        
    $a = new db();
        
    $a->set_query("select * from exam");
        
    $a->set_num_row();
        
    $a->get_num_row();
        
    $a->set_fetch();
        
    $a->get_fetch();
        
    ?>

    یک توضیح کوچک:
    شما اگر این کدها را در کد دوم قرار ندهید:
    کد PHP:
    $a->set_num_row();
        
    $a->get_num_row(); 

    آن موقع حلقه بینهایت اجرا خواهد شد.

    این کدها هم برای ثبت و دریافت اطلاعات مروبطه از دیتابیس است:
    کد PHP:
    $a->set_num_row();
        
    $a->get_num_row(); 

    ===
    یک چیزی هم امروز از این کلاس آموختم Smile
    __________________________________________________________________________
    یه توسعه دهنده!
    ۱۳۸۸ فروردين ۱۷ ۰۶:۳۸ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    hosseintdk775 آفلاین
    حسین بقایی
    ****

    ارسال‌ها: 380
    تاریخ عضویت: ۱۳۸۷ دي ۱۵
    اعتبار: 11
    تشکرها : 423
    ( 412 تشکر در 246 ارسال )
    ارسال: #8
    RE: گرفتن آرایه ها در شی گرایی
    بسم الله الرحمن الرحیم
    سلام
    و البته destruct درست است نه distruct .
    __________________________________________________________________________
    یه توسعه دهنده!
    ۱۳۸۸ فروردين ۱۷ ۰۸:۵۰ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    « قدیمی تر | تازه‌ تر »

    ارسال پاسخ
    پرش به انجمن:


    کاربرانِ درحال بازدید از این موضوع: 1 مهمان
    IranPHP.org | تماس با ما | بازگشت به بالا | بازگشت به محتوا | بایگانی | پیوند سایتی RSS