2016-05-10 4 views
1

anzeigen kann Ich möchte alle Werte aus ausgewählten Kontrollkästchen in eine eigene PHP-Variable setzen. Diese Kontrollkästchen haben ihre Werte von PHP/SQL generiert. Dieselbe Variable muss in einem einfachen <div> unterhalb der Dropdown-Boxen angezeigt werden. Ich benutze auch Bootstrap Multiselect Plugin. Aber ich bekomme einen null Wert von meinem var_dump() Test.Ausgewählte Checkboxen in eine PHP-Variable, die ich dann direkt unter

hier ist das, was ich bisher versucht haben:

<form id="menu1" method="POST" action="index.php"> 
    <h2>Area Code</h2> 
    <select id="multi-select1" name="multi_select1[]" multiple="multiple"> 
     <?php 
      //The query asking from our database 
      $areaCodeSQL = "SELECT ac.Number AS `AreaCode`, ac.Name AS `AreaName` 
          FROM `AreaCodes` ac";                //SQL query: From the table 'AreaCodes' select 'Number' and put into 'AreaCode', select Name and put into 'AreaName' 

      $areaCodeResults = $conn->query($areaCodeSQL);              // put results of SQL query into this variable 

      if ($areaCodeResults->num_rows > 0) {                // if num_rows(from $results) is greater than 0, then do this: 
       // output data of each row 
          foreach($areaCodeResults as $areaCodeResult)          //for each item in $areCodeResults do this: 
           { 
            $areaNameAndCode = $areaCodeResult['AreaCode'] ." ". $areaCodeResult['AreaName']; //get AreaCode and AreaName from query result and concat them 
            $areaName = $areaCodeResult['AreaName'];         // get AreaName 
            $areaCode = $areaCodeResult['AreaCode'];         //get AreaCode 

            ?><option class="menuoption1" name="menuAreaCode" value="<?php echo $areaCode ?>" ><?php echo $areaNameAndCode; ?></option><?php //Create this option element populated with query result variables 
           } 
      } 
      $result = $_POST['multi_select1'];     
     ?> 
    </select> 
</form> 
<div id="showResults1"><?php var_dump($result) ?></div> 

Ich kann jedoch erreichen, was ich mithilfe von jQuery tun wollen, aber ich möchte diese Werte in einer Datenbank und mein Tutor will, dass sie in der Lage sein zu senden in PHP Variablen sein. Ich weiß, dass ich AJAX benutzen kann, um sie zu meiner Datenbank zu schicken, aber das ist, was mein Tutor stattdessen wünscht. Ich weiß nicht, ob ich auf der richtigen Spur bin, so dass jede Hilfe sehr geschätzt wird

+0

Statt in die und aus der PHP zu kommen, warum Echo nicht nur die 'option' mit Ihren Wert? Welche Werte versuchen Sie auch an die Datenbank zu senden oder in PHP zu sein, weil Sie bereits mit den gewünschten Variablen in PHP sind? – Slime

+0

Grundsätzlich möchte ich nur die Kontrollkästchen, die vom Benutzer in dieser Variable überprüft wurde. Dies sind die Werte, die an die Datenbank gesendet werden. – Liam

+1

Schicken Sie das Formular? Ich frage nur, weil ich nicht einen Absenden-Button in Ihrem Code sehen ... – plong0

Antwort

1

Beim allerersten Start lesen Sie nichts von dieser POST-Variable, also behandeln Sie es. diesen Code Versuchen Sie, sollte es funktionieren:

<form id="menu1" method="POST"> 
    <h2>Area Code</h2> 
    <select id="multi-select1" name="multi_select1[]" multiple="multiple" action="index.php"> 
     <?php 
      //The query asking from our database 
      $areaCodeSQL = "SELECT ac.Number AS `AreaCode`, ac.Name AS `AreaName`FROM `AreaCodes` ac";                //SQL query: From the table 'AreaCodes' select 'Number' and put into 'AreaCode', select Name and put into 'AreaName' 
      $areaCodeResults = $conn->query($areaCodeSQL);              // put results of SQL query into this variable 

      if ($areaCodeResults->num_rows > 0) {                // if num_rows(from $results) is greater than 0, then do this: 
      // output data of each row 
       foreach($areaCodeResults as $areaCodeResult) { ?> 
        <option class="menuoption1" name="menuAreaCode" value="<?php echo $areaCodeResult['AreaCode'] ?>" ><?php echo $areaCodeResult['AreaCode'] ." ". $areaCodeResult['AreaName']; ?></option> 
      <?php } ?> 
    </select> 
    <input type="submit" value="Send" /> 
</form> 
<div id="showResults1"> 
    <?php 
    $result = isset($_POST['multi_select1']) ? $_POST['multi_select1'] : []; 
    var_dump($result); 
    ?> 
</div> 
+0

Hiya, danke für deine Eingabe. Ich habe es versucht, aber es hat nicht funktioniert. Ich habe diese Fehlermeldung erhalten, dass die Datei unerwartet beendet wurde. – Liam

+0

Hiya, nachdem ich meinen Submit Button aussortiert habe - das hat mir wirklich geholfen, also danke :-) – Liam

+0

Hi nochmal, ich weiß das funktioniert für meine Zwecke aber ich würde es gerne genau wissen was ist los mit diesem: – Liam

Verwandte Themen