Ankündigung

Einklappen
Keine Ankündigung bisher.

ID aus Select-Box per Submit übergeben

Einklappen

Neue Werbung 2019

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

  • ID aus Select-Box per Submit übergeben

    Ich habe eine Selectbox aus der ich ID's aus der Datenbank wählen kann. Nun möchte ich diese ID in ein Formularfeld übergeben. Ich weiß nicht wie ich das anstellen kann.

    Kann mir da bitte jemand helfen?

    Hier mein bisheriger Code:

    PHP-Code:
        $verbindung = @mysqli_connect($server, $benutzer, $passwort);
        
        if ($verbindung)
        {
            mysqli_select_db($verbindung, $datenbank);
                if(mysqli_error($verbindung))
                {
                echo 'Fehler: ' . mysqli_error($verbindung);
                }
                else
                {
                $sql = "SELECT * FROM screen ORDER BY id ";
                $result = mysqli_query($verbindung, $sql);
                $options = "";
                while($formulardaten = mysqli_fetch_assoc($result))
                {
                    $options .= "<option>".$formulardaten["id"]."</option>/n";
                 }
                echo "<select>\n";
                echo $options;
                echo "</select>\n";
        }
        }
        else
        {
        echo 'Verbindungsfehler: ' . mysqli_connect_error($verbindung);
        }
    ?>    
            <form action="<?php echo $PHP_SELF ?>" method="Post">
                <input type="submit" value="Ändern"/>
                <input type="text" value="<?php echo $id ?>" name="id" />
            </form>

  • #2
    Erst mal das ganze innerhalb von <form> setzen, sonst wird es sicher nicht beachtet.

    PS: $PHP_SELF ist unsicher
    PS2: Hast du etwa RegisterGlobals aktiv?

    Kommentar


    • #3
      Wenn du die ID von der Selectbox an ein Formular im gleichen Script übergibst, also quasi durch Prüfung, ob eine ID vorhanden ist, musst du einfach nur $_POST bzw. $_GET auslesen.

      Kommentar


      • #4
        imho falsches thema -> javascript. Ich seh nichts, was oben bereits ausgewählt wurde

        Kommentar


        • #5
          Hab jetzt versucht Eure Tips umzusetzen und das ist dabei rausgekommen. Leider führte es noch nicht zum Erfolg:

          PHP-Code:
                      <form action="<?php echo $PHP_SELF ?>" method="Post">
          <?php
              $server 
          'localhost';
              
          $benutzer 'xxx';
              
          $passwort 'xxx';
              
          $datenbank 'xxx';

              
          $verbindung = @mysqli_connect($server$benutzer$passwort);
              
              if (
          $verbindung)
              {
                  
          mysqli_select_db($verbindung$datenbank);
                      if(
          mysqli_error($verbindung))
                      {
                      echo 
          'Fehler: ' mysqli_error($verbindung);
                      }
                      else
                      {
                      
          $sql "SELECT * FROM screen ORDER BY id ";
                      
          $id $_GET["id"];
                      
          $result mysqli_query($verbindung$sql);
                      
          $options "";
                      while(
          $formulardaten mysqli_fetch_assoc($result))
                      {
                          
          $options .= "<option>".$formulardaten["id"]."</option>/n";
                       }
                      echo 
          "<select>\n";
                      echo 
          $options;
                      echo 
          "</select>\n";
              }
              }
              else
              {
              echo 
          'Verbindungsfehler: ' mysqli_connect_error($verbindung);
              }
          ?>    
                      <input type="submit" value="Ändern"/>
                      <input type="text" value="<?php echo $id ?>" name="id" />
                  </form>

          <hr />
          Ich wäre über neue Tips sehr dankbar.

          Kommentar


          • #6
            Sieht schon mal besser aus, aber ohne Name kann das Element nicht übergeben werden.

            Kommentar


            • #7
              Zitat von ChrisvA Beitrag anzeigen
              Sieht schon mal besser aus, aber ohne Name kann das Element nicht übergeben werden.
              Ich komme einfach nicht drauf wo ich dem zu übergebenden Element den Namen geben muss.

              Habe mir schon X Varianten gegoogelt finde es aber nicht.

              Bitte helft mir weiter.

              Kommentar


              • #8
                http://de.selfhtml.org/html/formulare/auswahl.htm

                Du musst die Dokus lesen.

                Kommentar


                • #9
                  Das hatte ich schon gelesen und auch wie folgt eingegeben:
                  PHP-Code:
                  <form action="<?php echo $PHP_SELF ?>" method="Post">
                      <select name="infoscreen">
                  <?php
                      $server 
                  'localhost';
                      
                  $benutzer 'xxx';
                      
                  $passwort 'xxx';
                      
                  $datenbank 'xxx';

                      
                  $verbindung = @mysqli_connect($server$benutzer$passwort);
                      
                      if (
                  $verbindung)
                      {
                          
                  mysqli_select_db($verbindung$datenbank);
                              if(
                  mysqli_error($verbindung))
                              {
                              echo 
                  'Fehler: ' mysqli_error($verbindung);
                              }
                              else
                              {
                              
                  $sql "SELECT * FROM screen ORDER BY id ";
                              
                  $id $_GET["id"];
                              
                  $result mysqli_query($verbindung$sql);
                              
                  $options "";
                              while(
                  $formulardaten mysqli_fetch_assoc($result))
                              {
                                  
                  $options .= "<option>".$formulardaten["id"] ." "$formulardaten["name"] ."</option>/n";
                               }
                              echo 
                  "<select>\n";
                              echo 
                  $options;
                              echo 
                  "</select>\n";
                      }
                      }
                      else
                      {
                      echo 
                  'Verbindungsfehler: ' mysqli_connect_error($verbindung);
                      }
                  ?>    
                      </select>
                      <input type="submit" value="Ändern"/>
                      <input type="text" value="<?php echo $id ?>" name="id" />
                  </form>

                  <hr />
                  Da jetzt allerdings meine Werte aus der DB nicht mehr in der Select-Box sondern darunter angezeigt werden, dachte ich das es so verkehrt ist. Hab ich bei der Reihenfolge irgendwo meinen Fehler?

                  Kommentar


                  • #10
                    Zitat von trollface Beitrag anzeigen
                    Ich würde sagen du ließt die nochmal und vergleichst die mit dem was dein Code produziert. (Strg + U)

                    Kommentar


                    • #11
                      wie wäre es denn , wenn du die ID erstmal überhaupt angibst ?

                      HTML-Code:
                      <form action="" method="post">
                      <select name="auswahl">
                      <option value="1">option 1</option>
                      <option value="2">option 2</option>
                      </select>
                      <input type="submit" name="absenden" value="OK"/>
                      </form>
                      du müsstest jetzt nur noch beim Bauen das Formulars die IDs aus der Datenbank an stelle der value- Werte eintragen, das kann man sogar in einer Schleife geschickt arrangieren

                      Kommentar


                      • #12
                        Hallo, nach vielen Versuchen hab ich jetzt die Selectbox dazu gebracht, mir die Daten aus der DB als Optionen zur Auswahl anzubieten. Wähle ich dann einen Datensatz aus, wird er mir im Textfeld angezeigt. Das wollte ich ja auch so haben. Ich bin mir aber nicht sicher, ob folgender Code so richtig ist:
                        PHP-Code:
                        echo "<select name = 'infoscreen'>\n"
                        denn das produziert mir dann folgenden Quelltext:
                        Code:
                        <select name = 'infoscreen'>
                        und bei SELFHTML steht ja infoscreen in doppelten Anführungszeichen. Wenn ich in der PHP-Zeile doppelte Anführungszeichen setze bekomme ich eine Fehlermeldung. Könnte mir jemand dazu einen Rat geben oder ist meine Variante so korrekt?

                        Kommentar


                        • #13
                          PHP-Code:
                          echo '<select name = "infoscreen">'
                          oder

                          PHP-Code:
                          echo "<select name = \"infoscreen\">\n"
                          Stringbenutzung in PHP nachsitzen

                          Kommentar


                          • #14
                            grundsätzlich zu anführungszeichen in strings siehe auch: http://php.net/manual/de/language.types.string.php
                            besonders die Beispiele und auch die Kommentare sind da für dich interessant.

                            Kommentar

                            Lädt...
                            X