通过更改为单个查询而不是将其放入循环来进行优化

时间:2016-09-24 05:06:30

标签: php mysql

我在数据库中有一个表。它包含3列:ID,名称,类型。我的PHP脚本中有一个数组,其中包含一些ID(不是任何顺序,可能是重复)。我想从表中回显那些项目,我在数组中有ID。我试着用for循环做这个:

$items = array(1, 8, 5, 3, 2, 1,  5, 5);
for ($i=0; $i < count($items); $i++) {
    $query = mysqli_query($connect, "SELECT * FROM weapons WHERE id='$items[$i]'");
    $row = $query->fetch_assoc();

    echo $row['name'] . ', ' . $row['type'];
}

我认为在循环中使用调用查询不是一个好习惯,因为如果循环太大,可能会减慢进程的速度。如果不将查询放入循环中,我可以获得相同的结果吗?

2 个答案:

答案 0 :(得分:3)

使用var popOverSettings = { placement: 'bottom', container: 'body', selector: '[rel="popover"]', html:true, content: "<button type='button' id='+50' class='btn btn-small btn-empty bid_value_buttons'> + 50 </button>" } $('body').popover(popOverSettings); $('.pop-Add').click(function () { var id = Math.floor((Math.random() * 1000000) + 1); button = "<button rel='popover' id='" + id + "' OnClick='display(this);'>Click me</button>" $('body').append(button); }); 关键字

IN

答案 1 :(得分:0)

    $('#myModalIdHere').on('show.bs.modal', function (event) {
        // this is the trigger
        var tableRow = $(event.relatedTarget);

        // get myDataIdHere to data-whatever attribute
        var myDataIdHere = tableRow.data('whatever');

        // updating modal's content
        // bind myDataIdHere to myInputIdHere
        var modal = $(this);
        modal.find('.modal-body #myInputIdHere').val(myDataIdHere);
    });