Problem mit Objekten und select box

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit Objekten und select box

    Huhu,
    hab da mal wieder ein Problem und hoffe ihr könnt mir wieder einmal helfen.
    Ich stehe total auf dem Schlauch und brauche einen kleinen Denkanstoss.

    Ich hole mir aus einer Datenbank Zahlen, die ich per Klassenfunktion in einen Text umwandle und diesen dann in einer selectbox ausgeben möchte. Jedoch gibt er mir nur einen Wert aus, obwohl er aber 2 ausgeben müsste.
    Ich bin der Meinung theoretisch müsste das funktionieren, hab aber keine Ahnung warum es nicht klappt:
    Code:
    Klassenfunktion:
    PHP-Code:
    function getBezeichnung($db) {
        
    $sql "SELECT bez FROM hersteller "
             
    "WHERE hersteller='".$this->hersteller."'";
        
    $db->mysql_query($sql,"Wissensdatenbank");
        
    $bez $db->mysql_fetch();
        return 
    $bez[bez]; 
    Teil mit der Selectbox:
    PHP-Code:
    echo '<select name="hersteller" style="width:185px" onchange="Javascript:submit()">';
          if (empty(
    $_POST[hersteller]))
            echo 
    '<option selected>Hersteller</option>';
          else {
            echo 
    '<option selected>'.$_POST[hersteller].'</option>';
          }
          
    $sql "SELECT distinct hersteller FROM auftrag "
               
    "GROUP BY hersteller";   
          
    $db->mysql_query($sql,"Wissensdatenbank");
          while (
    $row $db->mysql_fetch()) {
            
    $test[HERSTELLER] = $row[hersteller];
            
    $hersteller = new hersteller($test);
            
    $bez $hersteller->getBezeichnung($db);
            echo 
    '<option value="'.$bez.'">'.$bez.'</option>';
          }
          echo 
    '</select>'
    Konstruktor der Klasse:
    PHP-Code:
    function __construct($row) {
        
    $this->hersteller $row[HERSTELLER];
        
    $this->bezeichnung $row[NAME_1];
      } 
    Die Datenbankfunktionen sind aus einer Klasse, die ich selbts geschrieben habe, daran dürtfe es nicht liegen.

    Ich hoffe jemand kann mir helfen, ich kann das Problem zwar umschiffen, möchte aber trotzdem diesen Ansatz zum Laufen bringen.

    Danke im vorraus

    Grüße
    derPicker

  • #2
    PHP-Code:
    $sql "SELECT bez FROM hersteller "
             
    "WHERE hersteller='".$this->hersteller."'"
    was fällt dir auf?
    es müsste
    PHP-Code:
    WHERE hersteller="'".$this->hersteller."'" 
    lauten... bekommst du denn iwelche Fehlermeldungen?
    Grüße, Dennis
    Musik beflügelt unseren Geist

    Kommentar


    • #3
      es müsste
      PHP-Code:
      WHERE hersteller="'".$this->hersteller."'" 
      lauten... bekommst du denn iwelche Fehlermeldungen?
      Grüße, Dennis

      ??? seit wann und in welcher sprache??
      **********
      arkos
      **********

      Kommentar


      • #4
        WHERE hersteller="'".$this->hersteller."'"
        Das is aber richtig, da das Statement ohne Variable ja bspw heisst

        $sql = "SELECT bez FROM hersteller"
        . "WHERE hersteller = '04' ";

        Da das Feld hersteller ein char-Feld ist brauche ich ja die Zeichen...

        Gruß und danke trotzdem, liegt an was anderem

        Kommentar


        • #5
          lauten... bekommst du denn iwelche Fehlermeldungen?
          Mit diesem Code
          PHP-Code:
          WHERE hersteller="'".$this->hersteller."'" 
          garantiert
          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

          Kommentar


          • #6
            Mach einen JOIN zwischen auftrag und hersteller.
            Damit hast du in der while-Schleife die Bezeichnung gleich mit in der Hand, sparst dir den Klassenkram und brauchst auch viel weniger Anfrage (nur eine).

            Kommentar


            • #7
              Ja, so hatte ich es auch gemacht, dachte aber die andere Methode würde auch funzen, aber wenn nicht, auch egal

              Grüße und danke

              Kommentar

              Lädt...
              X