2014-12-24 3 views
3

У меня есть две таблицы, как показано на рисунке, когда работник редактирует его детали department_id сохранить как 0 в базе данныхсохранить выбранное значение в базе данных, как идентификатор

employee      department 
id| name|department_id  id|department_name 
1 |abc |1     1|HR  
2 |xyz |4     2|Finance 
3 |asd |3     3|Developer  

и этот вид части

<tr> 
    <th> Department </th> 
    <td> 
     <SELECT name="department_id" style="width:180px;" > 
      <?php 
      foreach($departments as $row): ?> 
      <option value="<?php $employee['department_id'] ;?>" 
      <?php if ($row['id']== $stakehholder['department_id']) 
      { 
      echo 'selected'; 
      } 
      ?>> 
      <?php echo $row['department_name'];?> 
      </option> 
      <?php endforeach ?> 
     </SELECT> 
    </td> 
    <td> <?php echo form_error('department_id'); ?> </td> 
</tr>  

после редактирования значения 0 получить магазин в базе данных

+1

может быть $ строки [ 'department_id'] == $ stakehholder [ 'department_id'] –

+1

это исправить сравнение между "department_name" к "DEPARTMENT_ID"? –

+0

Я отправил ответ –

ответ

4

забыть эхо<option value="<?php $employee['department_id']; ?>"

<SELECT name="department_id" style="width:180px;" > 
    <?php foreach($departments as $row): ?> 
      <option value="<?php echo $row['department_id']; ?>" 
      <?php if ($row['department_name']== $stakehholder['department_id']) { 
       echo 'selected'; 
      } 
      ?>> 
     <?php echo $row['department_name']; ?> 
     </option> 
     <?php endforeach ?> 
    </SELECT> 
+0

Alex, если вы не знаете PHP, тогда не комментируйте и не пропустите –

+0

просто исправьте свое сравнение, удалили пропущенный голос, неправильно поняли. – Alex

+0

вы правы @hunter –

1

обновлена ​​линия как ниже

<option value="<?php echo $employee['department_id'] ;?> 






<tr> 
    <th> Department </th> 
    <td> 
     <SELECT name="department_id" style="width:180px;" > 
      <?php 
      foreach($departments as $row): ?> 
      <option value="<?php echo $employee['department_id'] ;?>" 
      <?php if ($row['department_name']== $stakehholder['department_id']) 
      { 
      echo 'selected'; 
      } 
      ?>> 
      <?php echo $row['department_name'];?> 
      </option> 
      <?php endforeach ?> 
     </SELECT> 
    </td> 
    <td> <?php echo form_error('department_id'); ?> </td> 
</tr> 
+0

@SoftwareDev в порядке вы можете проверить PLS, используя chrome inpect element. –

+0

@SoftwareDev этот ответ правильный? –

1

вы забыли эхо department_id в значение атрибута опции и второй вы сравниваете имя идентификатора, которое никогда не совпадают, если идентификатор ИНТ и имя нет.

попробовать этот обновленный код:

<SELECT name="department_id" style="width:180px;" > 
    <?php 
    foreach($departments as $row): ?> 
    <option value="<?php echo $row['department_id'] ;?>" 
    <?php if ($row['department_id']== $stakehholder['department_id']) 
    { 
     echo 'selected'; 
    } 
    ?>> 
    <?php echo $row['department_name'];?> 
    </option> 
    <?php endforeach ?> 
</SELECT> 
+0

все еще не работает – SoftwareDev

+0

ok, какой браузер вы используете. проверить, что это значение в опции и дайте мне знать. –

+0

им с помощью хрома и это то, что я получаю <значения параметра> HR <опции выбранного значения> Финансы <опция значения> Developer – SoftwareDev

Смежные вопросы