2012-06-12 100 views
0

我希望有人可以帮助我或指出我在正确的方向,如果我不正确地接近这一点。SQL - 根据从前面的查询中选择的行插入新记录

我的意图是根据特定条件从数据库中选择符合条件的用户。在那些返回并显示在页面上的用户中,管理员用户应该能够从这些用户中进行选择,并将这些用户添加到数据库中的另一个表中,这次是附加费用。

我在用户正确显示的位置,我已将费用附加到复选框的值,但似乎无法弄清楚如何将用户重新输入到新表格中。

我希望下面我的代码样本足够清晰,以帮助澄清我要去哪里。

我意识到这可能不是最有效的方法。任何建议或建议很乐意。

谢谢!

PHP来选择符合条件的用户

$sql = $db->prepare("  
     SELECT * 
     FROM users            
     WHERE user_registration = 1 
     "); 
$sql ->execute(); 
$users = $sql ->fetchAll(PDO::FETCH_OBJ); 

HTML & PHP与复选框以显示符合条件的用户

<table> 
    <thead> 
     <th class="checked">Select</th>        
     <th>First Name</th> 
     <th>Last Name</th> 
     <th>Birth Date</th> 
     <th>Fee</th> 
    </thead> 

    <tbody> 

    <?php foreach($users as $entry): ?> 

     <tr> 
      <td class="checked"> 
       <input type="checkbox" name="checked" value="<?php echo $entry->fee; ?>"/> 
      </td> 
      <td class="first-name"><?php echo $entry->first_name; ?></td> 
      <td><?php echo $entry->last_name; ?></td> 
      <td><?php echo $entry->birthdate; ?></td> 
      <td><?php echo $entry->fee; ?></td>          
     </tr> 
    <?php endforeach; ?> 

    </tbody> 
</table> 


<div id="total" name="total">$0 
</div> 

JS来计算费用为每个用户

$(document).ready(function() { 

    $('.option').click(function(){ 

     var total = 0; 

     $('.option:checked').each(function(){ 

      total += parseInt($(this).val()); 

     }); 

     $('#total').html('$' + total); 

    }); 

}); 
+0

是我的回答有帮助的ID? – shadyyx

回答

1

而不是

<input type="checkbox" name="checked" value="<?php echo $entry->fee; ?>"/> 

<input type="checkbox" name="checked" value="<?php echo $entry->id; ?>"/> 

然后当一个复选框被选中,并提交表单你的用户,你可以做一个简单的

INSERT INTO table2 
SELECT FROM table1 WHERE table1.id IN (/* Your comma separated IDs here*/)