Сохранить несколько полей в БД из выпадающего списка - PullRequest
0 голосов
/ 13 февраля 2019

это то, что я успешно сделал.

  1. Пользователь вводит данные в текстовое поле и просматривает их обратно.

Вот что мне не удалось сделать:

  1. перехватите данные из базы данных, потому что данные, которые я выбрал из выпадающего списка, не были сохранены в базе данных.Вот почему я не могу распечатать страницу после нажатия кнопки Отправить.
  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 ... извлеките из базы данных, что мне не удалось. Работа длядругое поле, но не для раскрывающегося списка)

Мне очень нужна ваша помощь .. Я застрял здесь на неделю .... спасибо

1 Ответ

0 голосов
/ 13 февраля 2019

Правильный выпадающий список должен иметь <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, чтобы отобразить его позже, вам определенно необходимо сохранить его в своей базе данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...