Problem mit Objekten und select box

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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

    Comment


    • #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
      **********

      Comment


      • #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

        Comment


        • #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)

          Comment


          • #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).

            Comment


            • #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

              Comment

              Working...
              X