Variable übergeben

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

  • Variable übergeben

    Hallo zusammen

    Hab ein Problem mit der Variabel-Übergabe in einem Drop Down Menü, das ich einfach nicht kleinkriege.

    Ich lese aus einer MySQL-DB "Name" und "Nummer" aus, die im Drop Down dargestellt werden. Bei Klick auf Submit möchte ich aber nur "Nummer" in die Variable «$Shop_Nr» übergeben.

    Kann mir jemand folgen/helfen?

    PHP-Code:
    <?
    $db = mysql_connect("127.0.0.1", "root");
    mysql_select_db("bazaar",$db)or die ("connect fehlgeschlagen");
    $ergebnis = mysql_query("SELECT * FROM shopkeeper ORDER BY Nachname",$db);
    $anzahl_zeilen = mysql_num_rows($ergebnis);
    ?>
    <form name="form1" method="post">
    <select name="Shop_Nr">
        <option></option>
    <? for ($i=0; $i < $anzahl_zeilen; $i++)
        { $row = mysql_fetch_row($ergebnis);?>
        
        <option><? echo "$row[1] - $row[0]"; ?></option>
        <? } ?>
    </select>
    <p>
    <input name="submit" type="submit">
    </form>
    Wenn ich nun folgendes mache...
    PHP-Code:
    <?
    if(isset($_POST["Shop_Nr"]))  $Shop_Nr = $_POST["Shop_Nr"]; else $Shop_Nr = "";
    if ($Shop_Nr) 
        {
        echo "$Shop_Nr";
        }
    ?>
    ... kriege ich ja sowohl Name als auch Nummer ge-echo-d. Ich möchte aber nur die Nummer, die dann in eine andere Tablle der DB eingetragen wird.


    Für Hilfe wäre ich sehr dankbar.

    Schöner Gruss
    m.

  • #2
    <option><? echo "$row[1] - $row[0]"; ?></option>
    Hier rechnest du $row[1] MINUS $row[0]

    Ich dachte, eines davon ist ein String-Typ??

    versuchs mal so: (falls $row[1] nicht die Nr ist, einfach umdrehen!)
    PHP-Code:
    <option value="<?php echo $row[1]; ?>"><?php echo $row[0]; ?></option>

    Kommentar


    • #3
      PHP-Code:
      <option><? echo "$row[1] - $row[0]"; ?></option>
      Nein, ich lass mir einfach im Drop Down so anzeigen:

      "Nummer - Name" also bspw. "1 - Hinz", "2 - Kunz"

      Dein Tipp:

      PHP-Code:
      <option value="<?php echo $row[1]; ?>"><?php echo $row[0]; ?></option>
      war goldig

      Zu meinem Verständnis:

      Mit
      PHP-Code:
       <select name="Shop_Nr"
      setze ich die Variable, der Inhalt derselben kommt von <option value>. Wenn value fehlt, dann wird einfach der ganze String zwischen <option> und </option> in die Variable geschrieben.

      Stimmt das so?

      Danke nochmals.

      Kommentar


      • #4
        Also wie ichdas sehe hast du ein "normales" selctfeld

        <select name='xy'>
        <option value=1> Hinz </option>
        <option value=2> Kunz </option>
        </select>

        dann als html, ne?

        du kannst einer der Optionen ein 'selected' verpassen, dann wird die
        Variable nie NULL. Übergeben wird nur der 'value-wert' der ausgewählten
        option.
        Wenn du den Namen selbst übergeben willst wär nach meiner Ansicht der
        elegante Weg:


        <select name='xy'>
        <option value='Hinz'> Hinz </option>
        <option value=' Kunz'> Kunz </option>
        </select>

        bzw.:

        <select name='xy'>
        <option value='Hinz' selected> Hinz </option>
        <option value=' Kunz'> Kunz </option>
        </select>

        Ergo mußt Du nur zusehen, dass Dein php sen passenden html baut

        Kommentar


        • #5
          bei mir sieht das z.B. so in etwa aus:

          PHP-Code:
          <SELECT NAME='Schlag' CLASS=text onClick="KalkulationKgHaAlle()">
          <?php
          $Ausgabe
          ="";
          $Flaechenuebergabe="";
          while (list (
          $SchlagID,$Schlagname) = each ($SchlagNamenBank)) {
                
          $FlaecheSchlag=0;
                while (list (
          $FlurnummerIDZ$SchlagIDZ) = each ($ZuordnungDaten)) {
                    if (
          $SchlagID==$SchlagIDZ && isset($Flurgroesse[trim($FlurnummerIDZ)])){
                         
          $FlaecheSchlag+=$Flurgroesse[trim($FlurnummerIDZ)];
                    }
                    
          //echo"<BR> ---------- ".$Flurgroesse[trim($FlurnummerIDZ)];
                
          }
                
          reset($ZuordnungDaten);
                
          $Ausgabe.=" <OPTION VALUE='".$SchlagID."'>".$Schlagname." - ".round($FlaecheSchlag/10000,4)." ha </OPTION>";
                      
          }
          echo 
          $Ausgabe;
          ?>
          </SELECT>

          Kommentar


          • #6
            Original geschrieben von madom
            Stimmt das so?
            ja ... schau aber sicherheitshalber nochmal bei selfHTML nach
            Kissolino.com

            Kommentar


            • #7
              das ist immer ein guter Rat

              Kommentar


              • #8
                @oeno

                Danke für deine Ausführungen. Ich glaube, in der Essenz machst du das gleiche, wie «em-!x» mir vorgeschlagen hat, deine Art die Liste auszulesen ist einfach etwas anders, ich werde mir das mal noch näher reinziehen.

                @Wurzel

                Mach ich.

                Kommentar

                Lädt...
                X