In <[EMAIL PROTECTED]>, Samuel Ottenhoff wrote:

> It is good that you are looking into classes and functions..... The
> concept you are missing is that of "returning" a result.
> 
> At the end of your function mysql_query, add a line:
> 
> return $result;
> 
> Then, when you call that function, make it like this:
> 
> $resultArray = $TemplateTable->mysql_query("select ....");
> 
> Now you can pass $resultArray on to a different function.
> 
> Sam
> 

Alternatively, you can define a class variable where you
will be storing the query results and then access that
variable from outside.

so,

class foo {

    var $results;
        
    function bar($query) {
         while ....{
             $this->results[] = $row;
         }
    }
}

Then, from outside the class, you can access the variable.

$bar = new foo();
$bar->bar("select foo...");

print($bar->results);

etc...

Jeff



> 
> On 3/12/02 3:48 PM, "caspar kennerdale" <[EMAIL PROTECTED]> wrote:
> 
>> I am just getting my head around classes, so forgive me if this is a
>> schoolboy error!
>> 
>> In order to learn I am re-writing my content management system and am
>> in the process of writing an HTML.class and a MYSQL.class.
>> 
>> so far so good. I spawn new instances of a table for example, sending
>> parameter,and a table is output.
>> 
>> now in my MYSQL.class- I want to send a query to my class which then
>> returns an array- my database row or rows.
>> 
>> the problem is that whilst my array is created- I only seem to be able
>> to manipulate it within my MYSQL class. This is not satisfactory as I
>> really want to be able to send it on to my HTML.class for formatting
>> etc.
>> 
>> I obvioulsy do not want to format any 'echoed' output from within my
>> databasee class.
>> 
>> Here is a bit of sample code-
>> 
>> Once my database is open I call my query like this-
>> 
>> $TemplateTable = new DB;
>> $TemplateTable->mysql_query('SELECT * FROM template ORDER BY name ASC
>> LIMIT 10');
>> 
>> This is the function within my MYSQL.class
>> 
>> function mysql_query($query){
>> $a= 0;
>> while($row=mysql_fetch_row($SQL)) {
>> $new_row =  join('***',$row);
>> $result[] = $new_row;
>> echo $result[$a]."<br>";
>> $a++;
>> }
>> }
>> 
>> 
>> So here I am creating a string with each row in my database which is
>> delimted by *** -> $new_row.and am placing each row in anew array
>> called $result.
>> 
>> I can evaluate and format either $new_row or $result from within
>> mysql_query() but I really want to do is to send it on to another
>> funtion or even better another class- or access the values glabbally as
>> variables.
>> 
>> Any ideas or am I missing something really obvious?
>> 
>> Thanks in advance
>>

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to