2016-07-05 6 views
2

Ich möchte drei Werte durch ein Komma getrennt erhalten, wenn das Formular übermittelt wird. Der Wert aus der Checkbox, der Textbox 1 und der Textbox 2.PHP- wie man Werte aus checked checkboxes und entsprechenden Textfeldern erhält

Dies ist mein Code, der Werte aus der mysql-Datenbank abruft und Checkboxen und zwei entsprechende Textfelder generiert.

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> 
<?php 

$query = "SELECT * FROM subject"; 
$data = mysqli_query($con, $query); 

while ($row = mysqli_fetch_array($data)){ 
$s = $row['sub']; 
echo $s; 
?> 

<input type="checkbox" name="req_sub[]" value= "<?php echo $s; ?>" /> 
<input type="text" name="<?php echo $s; ?>" placeholder="Total Number" /> 
<input type="text" name="<?php echo $s; ?>" placeholder="Pass Number" />  

<?php 
} 
?> 
<input type="submit" name="submit" value="Add"> 
</form> 

This is how my form looks --

den Benutzer Angenommen, überprüft die ersten drei Boxen, und gibt die Werte wie in diesem Bild - enter image description here

wenn ich hinzufügen klicken, wird ich die Werte erhalten -
Physik
Math
Chemie
mit dem folgenden Code:

<?php 
if (isset($_POST['submit'])) { 
    if (!empty($_POST['req_sub'])) { 
     foreach ($_POST['req_sub'] as $selected) { 
      echo $selected."</br>"; 
     } 
    } 
} 
?> 

aber wie bekomme ich die Werte wie this-
Physik, 40,30
Math, 40,30
Chemie, 30,25

möchte ich diese Ausgabe in einer Variablen so dass ich es in meiner Datenbanktabelle speichern kann.
Ich habe in den letzten Tagen mehrere Stunden hinter mir verbracht. Bitte hilf mir dabei.

Antwort

3
  1. müssen Sie die <input type="text" ... /> eindeutige Namen zuweisen, so können Sie die Werte in der PHP empfangen.

  2. Zweitens müssen Sie PHP Code schreiben, der diese Werte verkettet.

Zum Beispiel Ihr HTML Code könnte sein:

<input type="checkbox" name="req_sub[]" value= "<?php echo $s; ?>" /> 
<input type="text" name="total[<?php echo $s; ?>]" placeholder="Total Number" /> 
<input type="text" name="pass[<?php echo $s; ?>]" placeholder="Pass Number" />  

und Ihre PHP Code könnte sein:

if (isset($_POST['submit'])) { 
    if (!empty($_POST['req_sub'])) { 
     foreach ($_POST['req_sub'] as $selected) { 
      $total = $_POST['total'][$selected]; 
      $pass = $_POST['pass'][$selected]; 
      $var = $selected . ',' . $total . ',' . $pass; 
      echo $var . '<br />'; 
     } 
    } 
} 
+0

es wie ein Charme ... Danke so sehr. –

+1

@Saroar, Sie sind willkommen. Übrigens, wenn Ihr '$ s' doppelte Anführungszeichen enthalten könnte, wenn Sie es aus der Datenbank bekommen, müssen Sie es auch über' htmlspecialchars ($ s) 'fischen, wenn Sie es in' html' einfügen. Sie erhalten also etwa Folgendes: '' – spirit

Verwandte Themen