Re: Public in Classes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I have this piece of code that I have created:

class userQueries {
    public function numberUsers() {
        $get_users=mysql_query("SELECT * FROM `users` WHERE `online` <
NOW()") or exit("../includes/error.php");
    }
}

class usersOnline extends userQueries {
    public function usersOnline() {
        echo mysql_num_rows($this->numberUsers);
    }
}

How do I request specific methods in other classes? The error that comes up
is:

mysql_num_rows(): supplied argument is not a valid MySQL result resource

which is somewhat expected as $this only refers to the variables and there
are no variables called numberUsers.

Cheers!

2008/9/21 Jochem Maas <jochem@xxxxxxxxxxxxx>

> Ben Stones schreef:
>
>  Hi,
>>
>> Just started with object oriented programming and glad I have come across
>> it, just need a few things clearing up.
>>
>> When I make a variable or method public, does this mean that it can be
>> used
>> outside of classes, for instance in other classes or as well as
>> instantiating classes? So if I made it private, it wouldn't be able to be
>> instantiated or extended in other classes, am I right?
>>
>> I have never added public when I am creating methods so I presume its
>> already set as default if you don't add it?
>>
>> Hope you can understand my question.
>>
>
> yes, and the answer nearly always lies in trying it out, run this
> (and if/when you hit a fatal error, comment the offending line and run it
> again):
>
> <?php
>
> class Test
> {
>        public          $a = "A";
>        protected       $b = "B";
>        private         $c = "C";
>
>        function tryme()
>        {
>                echo $this->a, "\n";
>                echo $this->b, "\n";
>                echo $this->c, "\n";
>                echo $this->d, "\n";
>        }
> }
>
> class TestTwo
> {
>        function tryme()
>        {
>                echo $this->a, "\n";
>                echo $this->b, "\n";
>                echo $this->c, "\n";
>                echo $this->d, "\n";
>        }
> }
>
> $t1 = new Test;
> $t2 = new TestTwo;
>
> $t1->tryme();
>
> echo $t1->a, "\n";
> echo $t1->b, "\n";
> echo $t1->c, "\n";
> echo $t1->d, "\n";
>
> $t2->tryme();
>
> echo $t2->a, "\n";
> echo $t2->b, "\n";
> echo $t2->c, "\n";
> echo $t2->d, "\n";
>
> ?>
>
>  Cheers.
>>
>>
>

[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux