有没有一种方法可以在动态表格中每行上传多张图片?

时间:2019-08-24 09:08:14

标签: php dynamic datatable

我正在尝试使动态表每行上载多个图像,但是有一个问题...它复制了数据库中所有的图片。例: 对于第一行,我选择2张图片(1.png和2.png) 对于第二行,选择2个图片(3.png和4.png)

现在文件夹中显示4张图片,很好...但是在表中显示:

THIS IS THE TABLE (PICTURES)

id      table1-ID         image
1          1              1.png
2          1              2.png
3          1              3.png
4          1              4.png

5          2              1.png
6          2              2.png
7          2              3.png
8          2              4.png


BUT I WANT THIS


id      table1-ID         image
1          1              1.png
2          1              2.png

3          2              3.png
4          2              4.png

图像将转到不同的表以作为证据,以查看它们在第一个表中的位置。 我怎样才能解决这个问题。 查看我的代码。

for ($i = 0; $i < $number; $i++) {
                if (trim($_POST["operacija"][$i] != '')) {


                    $jebenisqlizvestaj = "SELECT AUTO_INCREMENT as jebeniidizvestaja FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'agrikol' AND TABLE_NAME = 'izvestaji'";
                    $jebenirezultat = $con->query($jebenisqlizvestaj);
                    if ($jebenirezultat->num_rows > 0) {
                        while ($row = $jebenirezultat->fetch_assoc()) {
                            $jebeniid = $row['jebeniidizvestaja'];
                        }
                    }
                    //$slike = date('d-m-Y h-i-sa') . "." . $_FILES["image"]["name"];
                    $idOperacije = mysqli_real_escape_string($con, $_POST["operation"][$i]);
                    $operacija = mysqli_real_escape_string($con, $_POST["operacija"][$i]);
                    $vreme = mysqli_real_escape_string($con, $_POST["vreme"][$i]);
                    $radnici = mysqli_real_escape_string($con, $_POST["radnici"][$i]);
                    $masine = mysqli_real_escape_string($con, $_POST["masine"][$i]);
                    $ucinak = mysqli_real_escape_string($con, $_POST["ucinak"][$i]);

                    mkdir("../files/izvestaji/" . $project . "/" . $datum, 0700);


                    $sql = "INSERT INTO izvestaji (number, projekatId, operacijaId, operacija, vreme, radnici, masine, ucinak, dodatno, dodao, datum, token) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
                    $stmt = mysqli_stmt_init($con);
                    if (!mysqli_stmt_prepare($stmt, $sql)) {
                        echo "SQL Error!";
                    } else {
                        mysqli_stmt_bind_param($stmt, "iiisssssssss", $brojac, $projekat, $idOperacije, $operacija, $vreme, $radnici, $masine, $ucinak, $poslednjiId, $_SESSION['id'], $datum, $token);
                        mysqli_stmt_execute($stmt);




                        //if (!empty($_FILES) && isset($_FILES['file_img'])) {
                            $kalkulacija = count($_FILES['file_img']['name']);
                            for ($j = 0; $j < $kalkulacija; $j++) {
                                $filetmp = $_FILES["file_img"]["tmp_name"][$j];
                                $filename = $operacija . "_" . $datum . "_" . $_FILES["file_img"]["name"][$j];
                                $filetype = $_FILES["file_img"]["type"][$j];
                                $filepath = "../files/izvestaji/" . $project . "/" . $datum . "/" . $filename;


                                move_uploaded_file($filetmp, $filepath);

                                $sql = "INSERT INTO slike (izvestajid,img_name,img_path,img_type, token) VALUES ('$jebeniid','$filename','$filepath','$filetype','$token')";
                                $result = mysqli_query($con, $sql);
                            }
                        //}
                    }

这是用于添加新行的javascript

<script>
        $(document).ready(function() {
            var i = 1;
            $('#add').click(function() {
                i++;
                $('#dynamic_field').append('<tr id="row' + i + '"><td><select class="form-control" name="operation[]"><option hidden selected>Izaberite projekat</option><?php $q = "SELECT * FROM operacije ORDER BY nazivSrb ASC"; $stmt = mysqli_stmt_init($con);if (!mysqli_stmt_prepare($stmt, $q)) {echo "SQL statement failed!";} else {mysqli_stmt_execute($stmt);$result = mysqli_stmt_get_result($stmt);while ($row = mysqli_fetch_array($result)) { ?><option value="<?php echo $row['id']; ?>"><?php echo $row['nazivSrb']; ?></option><?php }} ?></select></td><td><textarea class="form-control name_list" name="operacija[]" rows="3"></textarea></td><td><textarea class="form-control name_list" name="vreme[]" rows="3"></textarea></td><td><textarea class="form-control name_list" name="radnici[]" rows="3"></textarea></td><td><textarea class="form-control name_list" name="masine[]" rows="3"></textarea></td><td><textarea class="form-control name_list" name="ucinak[]" rows="3"></textarea></td><td><br/><input type="file" class="form-control" name="file_img[]" multiple /></td><td><br/><button type="button" name="remove" id="' + i + '" class="btn btn-danger btn_remove">X</button></td></tr>');
            });

            $(document).on('click', '.btn_remove', function() {
                var button_id = $(this).attr("id");
                $('#row' + button_id + '').remove();
            });

        });
    </script>

0 个答案:

没有答案