Mehrere Variable in DropDown

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

  • Mehrere Variable in DropDown

    Morgen!

    Ich habe diesmal ein wirklich einfaches Problem (hoffe ich ), aber steh ich auf dem Schlauch.

    Ich habe in einem Formular eine Dropdown-Leiste. Diese soll gefüllt werden mit verschiedenen Variablen aus MySQL-Datenbanken. Das Value ist eindeutig, bloß soll das was "angezeigt wird" ist leider nicht eindeutig, weswegen mehrere Variablen angezeigt werden sollen. (Hoffe das war einfach erklärt)

    In dem Formular geht es darum, dass ein Datum für ein Lehrgang eingetragen werden soll. Da aber ein und der selbe Lehrgang mehrmals im Jahr stattfinden kann, reicht es nicht einfach nur die Kursbezeichnung anzeigen zu lassen, sondern auch den Namen der Kursreihe. Das "Problem" ist aber, dass aber, dass dieses in 3 verschiedene Tabellen gespeichert ist.

    Aber genug geredet hier meine Code-Schnipsel:

    Aus dem Formular
    PHP-Code:
    $arr $kursreihe->listen_arr();

      echo 
    "<select name='termin' size='1'>\n";

      
    $anzahl sizeof$arr[0]);
      for (
    $i=0;$i<$anzahl$i++){
      echo 
    "<option value='".$arr[0][$i]."'>" $arr[1][$i] . $arr[2][$i] . "</option>\n";
      }
      echo 
    "</select>Termin<p>\n"
    Aus der Class:
    PHP-Code:

    function listen_arr{
        
    $sql  " SELECT  t.Kurs , t.Kursreihe , t.Nr , k.Bezeichnung AS Kursname, kr.Bezeichnung AS Jahr ";
        
    $sql .= " FROM  SCHTermine t , SCHKurse k , SCHKursreihe kr ";
        
    $sql .= " WHERE k.Nr = t.Kurs AND kr.Nr = t.Kursreihe ";

        while (
    $arr $this->fetch_array()){
            
    $res[0] = array_merge$res[0], $arr['t.Nr'] ) ;
            
    $res[1] = array_merge$res[1], $arr['Kursname'] );
            
    $res[2] = array_merge$res[2], $arr['Jahr'] );
          }

        return ( 
    $res ) ;

        } 
    Wie man sehen kann, ist das Value 't.Nr' und die Namen(?) Kursname und Jahr.

    So ich hoffe, ich habe den Code genug gekürzt, und haoffe auf Antworten.
    Zuletzt geändert von darksaber999; 21.04.2005, 10:22.

  • #2
    schön dass du ausführlich beschrieben hast, aber ... wasfür Probleme hast du eigentlich? Fehlermeldung? Soll-/ Ist-Zustand?

    Kommentar


    • #3
      ähm stimmt, da war doch was

      Also im er zeigt Momentan nur das "Jahr" an. Aber nicht passend zu den Datensätzen, sondern einfach nur die Tabelle. Und im Value ist nur einfach 1, 2, 3, Das könnten die Nr (aus SCHKursreihe) zu, "Jahr" sein. Dabei sollte als Value eigentlich 1, 36, 37, usw drin stehen, also die Nr von SCHTermine.

      Hier mal der Quältext

      Code:
      <form action =' kurstermine.php?id=8' method =' post'>
      
      <select name='termin' size='1'>
      
      <option value='1'>Frühjahr 05</option>
      <option value='2'>Herbst 05</option>
      <option value='3'>Frühjahr 06</option>
      
      </select>Termin<p>

      Kommentar


      • #4
        Re: Mehrere Variable in DropDown

        Original geschrieben von darksaber999
        $arr['t.Nr']
        Wo selektierst du das denn?
        Mit dem SELECT, das obendrüber steht nämlich nicht
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          Ups, stimmt. Hab ich gerade geändert, trotzdem wird nix anderes angezeigt, und auch der Quältext zeig tmir anderes.

          Kommentar


          • #6
            Re: Mehrere Variable in DropDown

            testausgabe von $arr mit print_r?
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Er zeigt genau das an, was auch schon im Quältext steht. Das stimmt natürlich nicht.

              Aber ich muss sowieso praktisch von vorne anfangen. Tipp: Fragt niemals jemanden um Hilfe... irgendwie geht jetzt gar nix mehr!

              Kommentar


              • #8
                Re: Re: Mehrere Variable in DropDown

                Original geschrieben von wahsaga
                testausgabe von $arr mit print_r?
                schon gemacht? wenn nein, mach mal, dann weißt du auch was falsch war

                Kommentar


                • #9
                  Ja, habe ich schon gemacht,... aber ich muss sowieso gerade an anderen Stellen Fehler suchen. Jetzt soll irgendwas mit fetch_array nicht stimmen Seltsam ist das schon, bisher ging das immer so.

                  "Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /srv/www/praktikant/schulung/class/classkurstermine.inc.php on line 68"

                  Code:
                  while ($arr = $this->fetch_array()){
                    $res[0] = array_merge( $res[0], $arr['t.Nr'] ) ;
                    $res[1] = array_merge( $res[1], $arr['k.Bezeichnung'] );
                    $res[2] = array_merge( $res[2], $arr['kr.Bezeichnung'] );
                  }
                  
                    return ( $res ) ;
                  
                  
                  function fetch_array(){
                    return mysql_fetch_array( $this->result );
                  }
                  Was daran jetzt falsch ist, weiß ich nicht, hat schließlich immer so geklappt!

                  Kommentar


                  • #10
                    wo wird denn die query überhaupt an die DB übergeben?

                    und ansonsten, mysql_error() - das solltest du doch jetzt aber langsam wissen.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      Yepp, habe ich auch gemacht, das coole ( ) ist nur, dass da wirklich kein Fehler ist

                      edit: jetzt ist dieser Fehler zumindest weg, dabei habe ich nix (!!) geändert. Einfach neu abgespeichert.

                      Jetzt steht bloß angeblich nix mehr im Array drin. Ich schau nochmal nach
                      Zuletzt geändert von darksaber999; 21.04.2005, 12:27.

                      Kommentar


                      • #12
                        Hmm, seltsam. In dem Array steht angeblich nix drin. Muss wohl an der Übergabe der Variablen liegen, bloß wo

                        Kommentar


                        • #13
                          bei der Funktion wie sie oben steht, wundert es mich, dass du nicht schon bei einem Parse Error scheiterst
                          Zuletzt geändert von mrhappiness; 21.04.2005, 14:25.
                          Ich denke, also bin ich. - Einige sind trotzdem...

                          Kommentar


                          • #14
                            Ups, hab da oben wohl zu viel gekürzt.

                            PHP-Code:
                                function listen_arr(){
                                  
                              
                            $sql  "SELECT t.Kurs , t.Kursreihe , t.Nr , k.Bezeichnung , kr.Bezeichnung ";
                              
                            $sql .= "FROM  SCHTermine t , SCHKurse k , SCHKursreihe kr ";
                              
                            $sql .= "WHERE k.Nr = t.Kurs AND kr.Nr = t.Kursreihe";
                                  


                              
                            $this->result mysql_query$sql ) or
                                       die ( 
                            "Fehler bei der Abfrage: ".mysql_error() );
                              
                            $num mysql_num_rows($this->result);

                              while (
                            $arr $this->fetch_array()){
                                
                            $res[0] = array_merge$res[0], $arr['t.Nr'] ) ;
                                
                            $res[1] = array_merge$res[1], $arr['k.Bezeichnung'] );
                                
                            $res[2] = array_merge$res[2], $arr['kr.Bezeichnung'] );
                              }
                              return ( 
                            $res ) ;
                                }


                            function 
                            fetch_array(){
                              return 
                            mysql_fetch_array$this->result );

                            So, jetzt etwas besser gekürzt.

                            Kommentar


                            • #15
                              Nein, ich gebe auf, ich weiß nicht was der Fehler ist!?!

                              Ich habe Probeweise mal 'Hallo' in res[0] eingetragen, dann bekam ich 5x Hallo als Array ausgegeben. Aber ich übergebe die Variablen doch richtig?!? So mach ich das immer, und es klappt auch sonst immer, ich bin jetzt doch leicht verzweifelt.

                              Und ich bekomme auch keine Fehlermeldungen mehr, also müsste die Syntax richtig sein

                              Kommentar

                              Lädt...
                              X