foreach循环仅回显大于0的结果

时间:2017-05-16 19:39:22

标签: php

我有一个文本字段列表,旁边是每个文本字段的下拉列表。

文本字段是员工姓名,下拉列表是数字1-8。

下拉列表的默认值为0.

我想将名称和号码插入到数据库中,只有数字大于0,因为我不需要存储,而员工的工作小时数为0。

我试过这样的事情,但没有快乐:

foreach($_POST['ot_hours'] as $hours) {

            if($hours > 1) {

                foreach($_POST['employee_id'] as $employee) {

                echo $employee . " " . $hours;
                }
            }
        }

在尝试插入数据库之前,我只想回应结果。我只为2名员工选择了几个小时,但我得到了这个......

61 424 464 413 417 475 477 480 442 454 431 483 421 436 467 478 429 435 415 420 432 456 451 419 447 458 479 434 463 433 449 441 460 465 428 474 414 446 482 440 426 427 439 443 462 445 418 453 455 468 481 425 430 416 422 438 471 452 423 450 444 469 437 470 466 459 472 473 448 476 461 824 864 813 817 875 877 880 842 854 831 883 821 836 867 878 829 835 815 820 832 856 851 819 847 858 879 834 863 833 849 841 860 865 828 824 824 839 843 862 845 818 853 855 868 881 825 830 816 822 838 871 852 823 850 844 869 837 870 866 859 872 873 848 876 8

这显然不正确。

<div class="form-group">
            <select class="form-control" tabindex="1" name="ot_hours[]">
                <option value="0">0</option>
                <option value="1">1</option>
                <option value="2">2</option>
                <option value="3">3</option>
                <option value="4">4</option>
                <option value="5">5</option>
                <option value="6">6</option>
                <option value="7">7</option>
                <option value="8">8</option>
                <option value="9">9</option>
                <option value="10">10</option>
                <option value="11">11</option>
                <option value="12">12</option>
            </select>
        </div>

<div class="form-group">
    <input type="text" class="form-control" name="employee" value="{$last_name}, {$first_name}" disabled>
    <input type="hidden" name="employee_id[]" value="{$id}">
</div>

1 个答案:

答案 0 :(得分:0)

是的,所以你需要用一个数组控制循环,但也要捕获它的索引以便在另一个数组上使用。

foreach($_POST['employee_id'] as $idx => $employee) {
    if($_POST['ot_hours'][$idx] > 1) {
        echo $employee . " " . $_POST['ot_hours'][$idx] . '<br>';
    }
}