Variable in functie gebruiken

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Chris

Chris

20/07/2006 02:01:00
Quote Anchor link
In het onderstaande stukje code heb ik de variabele Mysql waarin de class zit van een mysql hulp gedeelte. Nu ben ik in de onderstaande code aan het proberen om deze variabele te gebruiken in een funcite (in het zelfde bestand) maar dit helaas zonder succes. Ik heb al geprobeerd om die functie in een class te zetten en met
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$menu->mysql =& $mysql;
de mysql class door te geven aan de menu class, maar helaas zonder succes. Nu ben ik dus een stapje terug gegaan naar wat meer basis werk (maar toch met classes) maar zonder effect...
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?
define( 'ROOT_PATH', dirname( __FILE__ ) ."/" );
require_once ROOT_PATH . "config.php";
require_once ROOT_PATH . "classes/class.".$INFO['sql_driver'].".php";
$mysql = new DB($INFO['sql_user'],$INFO['sql_pass'],$INFO['sql_database']);
$mysql->connect();
include ROOT_PATH . "includes/header.php";
function
generate_menu()
{

    $mysql->query("SELECT * FROM menu ORDER BY sorting ASC");
    $menu = "";
    $menu .= "<table class='menu'>";
    while($mysql->fetchRow())
    {

        $menu .= "<tr><td>";
        $menu .= "<a href='".$mysql->record["url"]."'>".$mysql->record["naam"]."</a>";
        $menu .= "</td></tr>";
    }

    $menu .= "</table>";
    return $menu;
}

echo generate_menu();
include ROOT_PATH . "includes/footer.php";
$mysql->disconnect();
?>

Als iemand een oplossing heeft om toch die mysql class in de menu class te krijgen, of een oplossing heeft voor de melding Call to a member function on a non-object die ik met de bovenstaande functie krijg, dan hoor ik dat graag van jullie. indien je de code wilt zien van de mysql class, dan zeg het maar en ik post hem er bij...
 
PHP hulp

PHP hulp

29/11/2024 15:46:57
 
Jelmer -

Jelmer -

20/07/2006 08:23:00
Quote Anchor link
Misschien dat het een beetje te grote stap is, maar ik gebruik zelf altijd een zogenaamd register waar ik al mijn global objecten en variabelen met een naam in gooi.

Nu is die link die ik gaf een beetje vaag naar mijn mening, en gaat hij meer over unittestcase dan over het uiteindelijke register.

Als je beschikt over PHP5 kan je als voorbeeld mijn eigen setje functies nemen (Hier zit het in, vanaf regel 79 tot 107)

Wat ook kan is gewoon gebruik maken van 'global', dus
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?
function generate_menu()
{

    global $mysql;
    $mysql->query("SELECT * FROM menu ORDER BY sorting ASC");
?>

Dat is wat simpeler :)
Gewijzigd op 01/01/1970 01:00:00 door Jelmer -
 
Chris

Chris

21/07/2006 00:20:00
Quote Anchor link
Thx. dat was dus precies wat ik zocht :D
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.