sabcat: <option>-Werte einer <select> aus DB füllen

Hallo,

nachdem ich jetzt den ganzen Tag schon rumprobiere die <option>-Werte eines
Dropdown-Menüs (<select></select>) mit den Werten einer MySQL-Datenbank zu
füllen geb ich mich geschlagen und wende mich an euch.

Ich habe schon mehrere Foren durchsucht und ähnliche bzw. fast gleiche Codebeispiele gesehen, dennoch läuft es bei mir nicht.

Hier mein Code:

<?php
  include ("DB.php");

$query = "SELECT int_Tag FROM tmp_tag ORDER BY int_Tag";

$result = mysql_query($query);

echo "<select name=Tag>";
   echo "<option selected></option>";  //Standardeintrag = ""

while ($data = mysql_fetch_array ($result))
   {
     echo "<option>" . $data['int_Tag'] . "</option>\n";
   }

echo "</select>";

mysql_close();
?>

--------------------
DB.php:

<?php
  $dbname="verbandbuch";
  $dbhost="localhost";
  $dbuser="root";
  $dbpass="";

mysql_connect($dbhost,$dbuser,$dbpass);

mysql_select_db($dbname);
?>
---------------------

Weis jemand einen Rat?
PHP liefert keinen Fehler zurück, die Verbindung zur Datenbank steht, die Spalte int_Tag in der Tabelle tmp_tag (es gibt in tmp_tag und eine Spalte, gefüllt mit 31 integer Werten) ist gefüllt aber das Dropdownfeld bleibt leer (angezeigt wird es).

Vielen Dank!

  1. Mahlzeit sabcat,

    $query = "SELECT int_Tag FROM tmp_tag ORDER BY int_Tag";

    $result = mysql_query($query);

    Du überprüfst hier nicht, ob die Abfrage geklappt hat, sondern gehst einfach stillschweigend davon aus. Was sagt $result?

    echo "<select name=Tag>";
       echo "<option selected></option>";  //Standardeintrag = ""

    while ($data = mysql_fetch_array ($result))

    Hast Du Dir mal $data ausgeben lassen (z.B. mit var_dump() oder print_r())?

    Wie sieht's mit ERROR_REPORTING aus? Auf was steht es?

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
    1. Danke für die schnelle Antwort.

      Habe den Fehler gerade gefunden, das Script funktioniert (hat es heute morgen um 10.00 Uhr schon -.-).

      Mein Fehler war, dass ich die DB.php und Verbandsbuch_Einlesen.php, in der der Code steht, im Ordner "files" habe.

      "files" ist ein Unterordner des Ordners "Verbandsbuch" in der die body.php liegt, in der ich wiederum die Verbandsbuch_Einlesen.php mit "include" einlese.

      "Natürlich" muss ich dann in der Verbandsbuch_Einlesen.php die DB.php nicht einfach wie folgt aufrufen

      include ("DB.php");

      sondern so:

      include ("files/DB.php");

      Was ja auch klar ist da die Position ja auf den Order "Verbandsbuch" beruht und nicht auf "files".

      Trotzdem Danke!

      1. Hi!

        echo "<option>" . $data['int_Tag'] . "</option>\n";

        ^^
        Achte bitte noch darauf, dass Du im option-Element das Value-Attribut benutzt und diesem einen Wert zuweist.

        Sonst 'siehst' Du zwar etwas, kannst damit aber nichts anfangen (Wert auswählen und per GET/POST senden).

        off:PP

        1. Moin!

          Achte bitte noch darauf, dass Du im option-Element das Value-Attribut benutzt und diesem einen Wert zuweist.

          Das stimmt zwar aber

          Sonst 'siehst' Du zwar etwas, kannst damit aber nichts anfangen (Wert auswählen und per GET/POST senden).

          das bezweifle ich. Aber es mag durchaus sein, dass es Browser gibt, die nicht den Inhalt von <option></option> als Defaultwert nehmen. Bisher ist mir jedenfalls  keiner untergekommen. Ist aber auch schon ein paar Tage her, dass ich fuer was anderes als den IE6 entwickelt habe.

          --
          Wenn Du eine Antwort nicht verstehst, trau dich und frag nochmal nach.
           
          1. Salut!

            Das stimmt zwar aber

            Aber was?

            Sonst 'siehst' Du zwar etwas, kannst damit aber nichts anfangen (Wert auswählen und per GET/POST senden).

            das bezweifle ich. Aber es mag durchaus sein, dass es Browser gibt, die nicht den Inhalt von <option></option> als Defaultwert nehmen.

            Das mag sein, das wäre dann welcher Standard?

            »»Bisher ist mir jedenfalls  keiner untergekommen.

            Aha!

            »»Ist aber auch schon ein paar Tage her, dass ich fuer was anderes als den IE6 entwickelt habe.

            Interessant!

            Wolltest Du Deine Online-Verbindung testen, wo ist Deine Aussage ?

            au relire

            Sven aus M.

            1. Hi!

              Wolltest Du Deine Online-Verbindung testen, wo ist Deine Aussage ?

              http://de.selfhtml.org/html/formulare/auswahl.htm

              Und jetzt moechte ich gern noch eine weitere Aussage taetigen: Du plenkst. :P

              --
              Wenn Du eine Antwort nicht verstehst, trau dich und frag nochmal nach.
               
              1. Salut!

                Wolltest Du Deine Online-Verbindung testen, wo ist Deine Aussage ?
                Und jetzt moechte ich gern noch eine weitere Aussage taetigen: Du plenkst.

                Das stimmt leider - pardonnez moi ![*]

                [*] Hier darf ich das: Franzosen plenken immer - aber das kann keine Entschuldigung für mein vorheriges Plenken sein!

                au relire

                Sven aus M.

                1. Nabend!

                  [*] Hier darf ich das: Franzosen plenken immer - aber das kann keine Entschuldigung für mein vorheriges Plenken sein!

                  Ich hab nen vietnamesischen Kollegen... Ich kriegs nicht raus aus dem. Seine Mails muss ich immer nochmal durchgehen, bevor er sie verschickt. (so ich denn da bin)

                  --
                  Wenn Du eine Antwort nicht verstehst, trau dich und frag nochmal nach.
                   
                  1. Hallo.

                    [*] Hier darf ich das: Franzosen plenken immer - aber das kann keine Entschuldigung für mein vorheriges Plenken sein!

                    Ich hab nen vietnamesischen Kollegen... Ich kriegs nicht raus aus dem. Seine Mails muss ich immer nochmal durchgehen, bevor er sie verschickt. (so ich denn da bin)

                    Tja, und an einer der wenigen Stellen, an der du im Deutschen hättest plenken müssen, hast du es nicht getan, nämlich vor der Ellipse.
                    MfG, at