2017-04-02 1 views
0

Ich habe eine Dropdown-Liste aus meiner MySQL-Datenbank erfolgreich ausgefüllt. Ich möchte jetzt den Wert aus diesem Dropdown extrahieren können. Wann immer ich den Wert aus dem Dropdown extrahiere, ist es nur der Positionswert des Wertes in der Liste.Abrufen eines Wertes aus einer Dropdown-Liste aus einer SQL-Datenbank

Hier ist die Arbeits Dropdown unter:

<?php 

include_once("connection.php"); 

function fill_name($connect) 
{ 
     $output = ''; 
     $sql = "SELECT name, id FROM notes"; 
     $result = mysqli_query($connect, $sql); 
     while($row = mysqli_fetch_array($result)) 
     { 
      $output .= '<option value="'.$row["id"].'">'.$row["name"].'</option>'; 
     } 
     return $output; 
} 

?> 

<!DOCTYPE html> 
<html> 
     <head> 
      <title>Patient Notes View</title> 
      <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" /> 
      </script> 
     </head> 
     <body> 
      <br /><br /> 
      <div class="container"> 
       <form action="dropdown_selection.php" method="post"> 
        <select name="name" id="name"> 
          <option value="">Show All Patients</option> 
          <?php echo fill_name($connect); ?> 
        </select> 
        <input type="submit" name="submit" value="Submit" /> 

       </form> 
      </div> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script> 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> 

     </body> 
</html> 

Und hier ist die Seite dann verweist:

<?php 
$patient_name = $_POST['name']; 
echo $patient_name 

?> 

Der Ausgang ist entweder 1,2,3,4, aber ich Ich möchte, dass es ausgibt, was im Drop-down ausgewählt ist.

Thnks für Ihre Hilfe

+0

der Wert nicht übereinstimmt mit dem IDs auf? –

+0

die Ausgabe ist korrekt, da Sie den Optionswert auf ID setzen, nicht NAME -> Daher erhalten Sie IDs – OldPadawan

+0

Die Nummer ist die ID des Artikels, nicht unbedingt seine Position. Machen Sie den "Wert" den Namen, nicht die ID oder die Abfrage auf der nächsten Seite basierend auf der ID. – chris85

Antwort

0

können die value Ihrer Elemente ändern oder entfernen Sie sie. Wenn das Element keinen Wert hat, wird sein Inhalt als Wert gesendet.

Der Inhalt dieses Attributs stellt den Wert dar, der mit dem Formular übergeben werden soll, falls diese Option ausgewählt ist. Wird dieses Attribut nicht angegeben, wird der Wert aus dem Textinhalt des Optionselements übernommen.

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option

Also entweder:

$output .= '<option value="'.$row["name"].'">'.$row["name"].'</option>'; 

oder

$output .= '<option>'.$row["name"].'</option>'; 
0

Die Ausgabe ist die Nummer korrekt ist, wie Sie die Option Wert festgelegt ID, nicht NAME zu sein -><option value="'.$row["id"].'"> damit Sie Sie erhalten ID s entweder

+0

ist diese antwort auf ihre eigene frage? ^^ – OldPadawan

Verwandte Themen