DropDown liste aus Datenbank

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

  • DropDown liste aus Datenbank

    Hallo zusammen, ich bin in PHP nicht gerade der allrounder, und habe nun seit 2 Tagen immerhin schon einen Teil meines "wunsch" scriptes hinbekommen, ich hoffe das mir hier jemand weiterhelfen kann.
    folgendes:

    ich habe eine TXT datenbank, dessen inhalt folgendermassen aussieht:
    "name1|url-zur-seite1|infotext1"
    "name2|url-zur-seite2|infotext2"
    "name3|url-zur-seite3|infotext3"

    nun sollte das sript die datenbank auslesen und jeweils "name1", "name2" und "name3" in der Dropdown liste erscheinen, dann sollte man z.B. "name3" auswählen und dann auf "absenden" klicken, und dann sollten die entsprechenden "url-zur-seite3" und "infotext3" mittels Get oder Post übergeben werden. und in einer datei (z.b. ausgabe.php) ausgegeben werden.

    mein bisheriges script liste die DB ein, gibt aber nur die erste wert aus.

    so sieht es mitlerweile aus.
    -----------------------

    PHP-Code:

    <? 
    $datenbank = 'datenbank.txt';

    $flatfile=file("$datenbank");

    foreach ($flatfile as $zeile)
    {

    list ($name, $url, $infotext)=explode("|",$zeile);
    print "$name <br>";
    print "$url <br>";
    print "$infotext <br>";

    print "-----------------------------------------------------<br>";
    }

    print "<form action=\"ausgabe.php?url=$url&infotext=$infotext\" method=\"POST\">";
    print "<select size=\"1\" name=\"dropdown\">";
    print "<option value=\"$name\">$name</option>";
    print "<input type=\"submit\" value=\"Go\"></form>";
    ?>
    danke für eure hilfe

    mfg
    iloveratte

  • #2
    nimm in dein foreach mal nur das <option>
    Signatur-Text ...

    Kommentar


    • #3
      sorry, ich verstehe nicht ganz was du damit meinst?

      gruss iloveratte

      Kommentar


      • #4
        dani_o meint folgendes:

        PHP-Code:
        <?php 
        $datenbank 
        'datenbank.txt';

        $flatfile=file("$datenbank");

        print 
        "<form action=\"ausgabe.php?url=$url&infotext=$infotext\" method=\"POST\">";
        print 
        "<select size=\"1\" name=\"dropdown\">";
        foreach (
        $flatfile as $zeile)
        {
        list (
        $name$url$infotext)=explode("|",$zeile);
        print 
        "<option value=\"$name\">$name</option>";
        }
        print 
        "<input type=\"submit\" value=\"Go\"></form>";
        ?>
        was ich allerdings noch nicht verstehen - was soll infotext sein
        Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

        Kommentar


        • #5
          Hi, nun infotext ist einfach noch ein kleine beschreibung, die den link beschreibt. das sind allerdings nur wenige zeichen..

          nun das funktioniert ja eigentlich schon prima, bin ganz erstaunt ;-) aber es übergiebt keinen wert.

          in der ausgabe.php, kann ich die übergebenen daten dann mit
          PHP-Code:
          <?php 

               
          echo $_POST['url'];     
               echo 
          $_POST['infotext'];     
          ?>
          ausgeben lassen, so wie ich das verstehe. oder?

          Gruss iloveratte
          Zuletzt geändert von iloveratte; 26.02.2006, 16:31.

          Kommentar


          • #6
            Hallo, so habe nun gewerkelt, alles funktiuoniert nun so wie es sollte, ausser dass einfach keine Daten übergeben werden. im Browser erscheint dann Scriptname.php?&url=&infotext= aber die angaben nach dem = fehlen. liege ich mit der annahme richtig, das die nicht übergeben werden können, weil die erst später definiert( resp. ausgelesen) werden, und desshalb nicht verfügbar sind?

            danke für eure Tipps

            mfg

            iloveratte
            Zuletzt geändert von iloveratte; 26.02.2006, 16:32.

            Kommentar


            • #7
              Auch hierfür ein Beispiel: link

              Kommentar


              • #8
                Hallo,

                hab das script mal so übernommen, und bei mir erscheint dann folgende fehlermeldung..

                session_start(): Cannot send session cache limiter - headers already sent (output started at /home/stephan/public_html/iloveratte/service/script.php:4)

                weisst du darauf einen rat?

                gibt es da nicht etwas einfaches, so wie oben, das ohne Session und co läuft, ganz was einfaches?

                gruss
                Iloveratte
                Zuletzt geändert von iloveratte; 26.02.2006, 18:21.

                Kommentar


                • #9
                  Ja geht, habs entsprechend geändert. siehe Link.

                  Kommentar


                  • #10
                    Original geschrieben von iloveratte
                    weisst du darauf einen rat?
                    Ja: Augen aufmachen!

                    Entweder den Sticky Thread lesen, oder die Suchfunktion benutzen - das Thema taucht alle paar Tage auf ...!
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      Ok, vielen vielen dank.

                      Kommentar

                      Lädt...
                      X