从下拉列表选择中保存db中的多个字段

问题描述 投票:0回答:1

这就是我成功完成的事情。

  1. 用户键将数据放入文本字​​段并预览数据。

这是我没能做到的:

  1. 从db中捕获数据,因为我从下拉列表中选择的数据没有存储在db中。这就是为什么我点击提交后无法打印页面的原因。
  2. 它适用于其他领域,但不适合我的下拉选择。这部分代码有什么问题吗?

这是我的index.html文件

<tr>
    <td colspan="4" align="left" class="form-group form-inline"><b>Section 
     B</b></td>
    </tr>

    <script type="text/javascript">
                function show() { 

                var dropdown = document.getElementById("employment");
                var current_value = 
        dropdown.options[dropdown.selectedIndex].value;


                    if(current_value =="--Choose one--"){
                    didfv3.style.display = 'none';
                    didfv2.style.display = 'none';


                    }
                         if(current_value == "Unemployed"){
                        didfv3.style.display = 'none';
                        didfv2.style.display = '';


                        }

                         if(current_value == "Working"){
                        didfv3.style.display = '';
                        didfv2.style.display = 'none';

                        }

          }                     

                </script>





    <td>employment</td>
   <td colspan="4">
    <select name="employment" id="employment" onChange="show();">
    <option value="--Choose one--">--Choose one--</option>
        <option value="Unemployed">Unemployed</option>
        <option value="Working">Working</option>

       </select>



  <table id="didfv2" width="90%" border="0" align="center" 
  style="display:none">
<tr>
<td width="50%">Balance</td>
<td width="1%" align="center">:</td>
<td width="73%" ><input type="text" name="balance" readonly  maxlength="10" 
value="<?php echo $balance?>" size="5" >&nbsp;months</td>
      </tr>
</table>

    <table id="didfv3" width="90%" border="0" align="left" 
   style="display:none">

       <tr> 
    <td class="form-group form-inline">Basic Salary</td>
  <td width="0.5%" align="knk" class="form-group form-inline">:</td>
  <td width="73%" class="form-group form-inline">
  <input name="basic" type="text" id="basic" maxlength="20"/></td>
</tr>

<tr>    
    <td>Gross Salary</td>
  <td width="0.5%" align="center" class="form-group form-inline">:</td>
  <td width="73%" class="form-group form-inline">
  <input name="gross" type="text" id="gross" maxlength="20"/></td>
</tr>

 <tr>   
    <td class="form-group form-inline">Nett Salary</td>
  <td width="0.5%" align="center"  class="form-group form-inline">:</td>
  <td width="73%" class="form-group form-inline">
  <input name="nett" type="text" id="nett" maxlength="20"/></td>
</tr>
<tr> 
</table> 

这是我的insert.php

  <?

$employment = $_POST['xxx'];

if (isset($_POST['xxx'])) {
     $employment =$_POST['xxx'];
    }   

if($employment =='Working'){

      $basic = $_POST['basicsalary00'];
      $gross = $_POST['grosssalary00'];
      $nett = $_POST['nettsalary00'];

}

    elseif($xxx =='Unemployed'){

    $balance = $_POST['balance'];
} 


$sqlinsert = "INSERT INTO application
(
xxx,basicsalary00,grosssalary00,nettsalary00)
VALUES(0,'$xxx','$basic','$gross','$nett')";

?>
  // here is to print back the output

<form name="formName" action="form1" method="post" class="form-group form- 
inline">
 <tr>
    <td rowspan="2">Employment</td>
    <td colspan="3">
        <option value="<?php echo $employment;?>"><?php echo $employment;?> 
 </option>        

    <table id="didfv2" width="90%" border="0" align="center" 
style="display:none">

    <tr>
    <td colspan="3">
    <input type="hidden" id="balance" value="<?php echo $balance;?>" />
    </td>
    </tr>
        </table>



  <table id="didfv3" width="90%" border="0" align="center" 
  style="display:none">
   <tr></tr>
   <tr>
    <td>Basic Salary</td>
    <td>
  <input name="basic" type="hidden" id="basic" value="<?php echo $basic;?>" />RM <?php echo $basic;?></td>
    </tr>

    <tr>
    <td>Gross Salary</td>
  <td>
  <input name="gross" id="gross" type="hidden" value="<?php echo $gross;?>" 
 />RM <?php echo $gross;?></td>
    </tr>


   <tr>
   <td>Nett Salary</td>
   <td>
  <input name="nett" type="hidden" id="nett" value="<?php echo $nett;?>" 
  />RM <?php echo $nett;?></td>
    </tr>
        </table>
  </td>
    </tr>
  </form>

所以会有4页,

1)用于用户输入(index.html)

2)预览输入(我没有在这里包含文件 - 成功)

3)将输入插入db(insert.php)

4)打印回结果(insert.php底部的代码...从db-中取出我失败了。为其他字段工作但不用于下拉部分)

我真的需要你的帮助..我已经被困在这里一周了......谢谢

php dropdown
1个回答
0
投票

一个正确的下拉列表应该有一个<select><option>元素应该在它里面!

在你的insert.php中,我可以看到你只使用了这一行:

<option value="<?php echo $employment;?>"><?php echo $employment;?></option>  

你这样尝试怎么样:

<select readonly>
  <option value="--Choose one--">--Choose one--</option>
  <option <?php echo ($employment == 'Unemployed') ? 'selected' : ''; ?> value="Unemployed">Unemployed</option>
  <option <?php echo ($employment == 'Working') ? 'selected' : ''; ?>  value="Working">Working</option>
</select>

在这里,我们检查这些<option>元素中的任何一个是否与用户提交的元素相同。如果是这样,请将其设为selected

希望能帮助到你。


编辑

如果你想存储$employment的值以便稍后显示它,你肯定必须将它存储在你的数据库中。

© www.soinside.com 2019 - 2024. All rights reserved.