Klassen & Objekte: Anfängerfrage

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von Der_Jan, 25.01.2007.

  1. Der_Jan

    Der_Jan Thread Starter MacUser Mitglied

    Beiträge:
    609
    Zustimmungen:
    7
    Mitglied seit:
    06.01.2004
    Guten Abend,
    arbeite mich in Objekte und Klassen ein und brauche Rat. Möchte mittels der Klasse Profile MySQL-Abfragen organisieren und die Daten verarbeiten.
    Klar, brauche erstmal eine Verbindung zur MySQL und dann die Abfrage des entsprechenden Datensatzes. Das habe ich in der Funktion (bzw. Methode)
    DatenbankAbfrage realisiert.

    PHP:
    <?
    class 
    Profile {

    function 
    DatenbankAbfrage ($selecteduserid)
    {
    $request_user=mysql_query("SELECT id, vorname, nachname, land FROM user WHERE id='$selecteduserid'"); 
    $result_user=mysql_fetch_array($request_user); 
    }


    function 
    GetName ()
    {
    // Hier möchte ich nun das Array aus der Funktion DatenbankAbfrage verarbeiten, z.B. $result_user[vorname]
    }

    }

    ?>
    Habe versucht in der Funktion GetName auf $result_user[vorname] aus DatenbankAbfrage zuzugreifen. Funktioniert nicht. Kann man das irgendwie machen oder mache ich einen Gedankenfehler?

    Danke. :)
    Der Jan
     
  2. lol

    lol MacUser Mitglied

    Beiträge:
    1.556
    Zustimmungen:
    63
    Mitglied seit:
    18.01.2006
    Ich habe zwar noch nicht in php objekt orientiert gearbeitet, daher kann ich dir nicht 100%ig sagen, was falsch ist.
    Aus C++ & Java sicht gesehen machst du vollgenden Fehler:
    Die Variable ist nur in der Funktion DBAbfrage definiert und nicht in der Klasse. Deswegen kannst du sie nur in der Funktion lesen und schreiben.
    Definiere also eine Klassenvariable, die aus jeder Funktion der Klasse les- und schreibbar ist.

    Das könnte so aussehen
    Code:
    <? 
    class Profile { 
    
    $result_user = null;
    
    function DatenbankAbfrage ($selecteduserid) 
    { 
    $request_user=mysql_query("SELECT id, vorname, nachname, land FROM user WHERE id='$selecteduserid'");  
    $result_user=mysql_fetch_array($request_user);  
    } 
    
    
    function GetName () 
    { 
    // Hier möchte ich nun das Array aus der Funktion DatenbankAbfrage verarbeiten, z.B. $result_user[vorname] 
    } 
    
    } 
    
    ?>
     
  3. hoppelmoppel

    hoppelmoppel MacUser Mitglied

    Beiträge:
    518
    Zustimmungen:
    2
    Mitglied seit:
    12.04.2006
    zuerst mysql_connect, dann mysql_select_db, dann mysql_query
     
  4. hoppelmoppel

    hoppelmoppel MacUser Mitglied

    Beiträge:
    518
    Zustimmungen:
    2
    Mitglied seit:
    12.04.2006
    zb sowas:

    Code:
    <?php
    class database
    {
            var $connectionID;
            var $result;
    
            function database($host, $user, $password)
            {
                    if (!$this -> connectionID = mysql_connect($host, $user, $password))
                            die("Error at connecting to the mysql-server. Error message:".mysql_error());
            }
            function selectDB($dataBase)
            {
                    if(!mysql_select_db($dataBase, $this -> connectionID))
                            die("Error at selecting the database. Error message:".mysql_error());
            }
            function executeQuery($query)
            {
                    if(!$this -> result = mysql_query($query, $this -> connectionID))
                            die("Error at executing the query. Error message:".mysql_error());
                    return $this -> result;
            }
    }
    ?>
    
     
Die Seite wird geladen...

Diese Seite empfehlen