【问题标题】:SQL - Insert new record into table based on rows chosen from previous querySQL - 根据从先前查询中选择的行将新记录插入表中
【发布时间】:2012-06-12 23:51:47
【问题描述】:

如果我完全不正确地处理这个问题,我希望有人可以帮助我或指出正确的方向。

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

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

我希望下面的代码示例足够清晰,以帮助阐明我的目标。

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

谢谢!

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);

    });

});

【问题讨论】:

    标签: php javascript jquery sql


    【解决方案1】:

    代替

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

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

    然后,当检查复选框并提交表单时,您拥有该用户的ID,您可以执行简单

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多