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