How do i paginate a table which has dynamically generated table rows and columns in the tbody

I have a table in php, which has rows being generated dynamically. Multiple rows in one row. This is the structure that is needed and cannot be changed. This is a sample table structure(image attached). Now, i have code written that table in a simmilar structure. But i cannot apply pagination and search functionalities of DATATABLES on this, as there are dynamic rows. What should i do?
Expected table structure with this code

                     <table class="table table-striped table-hover table-bordered" id="myTable" style="margin-bottom: 5rem; width:100%;">
                                <thead>
                                    <tr>
                                        <th rowspan="2" class="tHeader">S.No.</th>
                                        <th rowspan="2" class="tHeader">Name & Designation</th>
                                        <th colspan="5" class="tHeader">Year 2023</th>
                                        <th colspan="5" class="tHeader">Year2024</th>
                                    </tr>
                                    <tr>
                                        <th class="tHeader">Details of property  2023</th>
                                        <th class="tHeader">Present Value  2023 </th>
                                        <th class="tHeader">How acquire  2023</th>
                                        <th class="tHeader">Annual Income  2023</th>
                                        <th class="tHeader">Remarks 2023</th>
                                        <th class="tHeader">Details of property 2024</th>
                                        <th class="tHeader">Present Value 2024 </th>
                                        <th class="tHeader">How acquire  2024</th>
                                        <th class="tHeader">Annual Income  2024</th>
                                        <th class="tHeader">Remarks 2024</th>
                                    </tr>
                                </thead>
                                <tbody>
                                    <?php if (!empty($infoData)) {
                                        $i = 1;
                                        foreach ($infoData as $row) {
                                            $prev_types = explode("<br>", $row['prop_type_prev']);
                                            $prev_addresses = explode("<br>", $row['prev_address']);
                                            $prev_values = explode("<br>", $row['value_prev']);
                                            $annual_prev = explode("<br>", $row['annual_prev']);
                                            $remarks_prev = explode("<br>", $row['remarks_prev']);
                                            $on_name_prev = explode("<br>", $row['on_name_prev']);
                                            $person_prev = explode("<br>", $row['person_prev']);
                                            $rrt_name_prev = explode("<br>", $row['rrt_name_prev']);
                                            $prop_acq_type_name_prev = explode("<br>", $row['prop_acq_type_name_prev']);
                                            $acq_date_prev = explode("<br>", $row['acq_date_prev']);
                                            $share_prev = explode("<br>", $row['share_prev']);

                                            $prop_type_name_curr = explode("<br>", $row['prop_type_name_curr']);
                                            $current_address = explode("<br>", $row['current_address']);
                                            $present_value_curr = explode("<br>", $row['present_value_curr']);
                                            $annual_income_curr = explode("<br>", $row['annual_income_curr']);
                                            $remarks_curr = explode("<br>", $row['remarks_curr']);
                                            $string_agg = explode("<br>", $row['string_agg']);
                                            $person_current = explode("<br>", $row['person_current']);
                                            $rrt_name_curr = explode("<br>", $row['rrt_name_curr']);
                                            $prop_acq_type_name_curr = explode("<br>", $row['prop_acq_type_name_curr']);
                                            $acq_date_curr = explode("<br>", $row['acq_date_curr']);
                                            $share_curr = explode("<br>", $row['share_curr']);


                                            $rowspan = max(count($prev_types), count($prev_addresses), count($prev_values));

                                            for ($j = 0; $j < $rowspan; $j++) { ?>
                                                <tr>
                                                    <?php if ($j == 0) { ?>
                                                        <td rowspan="<?= $rowspan; ?>"><?= $i++; ?></td>
                                                        <td rowspan="<?= $rowspan; ?>"><?= $row['emp_code'] . " " . $row['emp_name'] . " " . $row['desig']; ?></td>
                                                    <?php } ?>

                                                    <td><?= isset($prev_types[$j])  ? $prev_types[$j] . " " . $prev_addresses[$j]  : ''; ?></td>
                                                    <td><?= isset($prev_values[$j]) ? $prev_values[$j] : ''; ?></td>
                                                    <td><?php
                                                        if ($prop_on_name_prev[$j] == 2) {
                                                            echo isset($person_prev[$j]) ? $person_prev[$j] . " " . $rrt_name_prev[$j] . "<br>" : 'null';
                                                        } else if ($prop_on_name_prev[$j] == 1) {
                                                            echo 'self' . "<br>";
                                                        } else
                                                            echo " " . "<br>";
                                                        echo isset($prop_acq_type_name_prev[$j]) ? $prop_acq_type_name_prev[$j] . " " : '';
                                                        if (isset($acq_date_prev[$j]) && !empty($acq_date_prev[$j])) {
                                                            echo date('d-m-Y', strtotime($acq_date_prev[$j])) . " ";
                                                        } else {
                                                            echo "";
                                                        }
                                                        echo isset($share_prev[$j]) ? $share_prev[$j] : '';
                                                        ?></td>
                                                    <td><?= isset($annual_income_prev[$j]) ? $annual_income_prev[$j] : ''; ?></td>
                                                    <td><?= isset($remarks_prev[$j]) ? $remarks_prev[$j] : ''; ?></td>



                                                    <td><?= isset($prop_type_name_curr[$j])  ? $prop_type_name_curr[$j] . " " . $current_address[$j]  : ''; ?></td>
                                                    <td><?= isset($present_value_curr[$j]) ? $present_value_curr[$j] : ''; ?></td>
                                                    <td><?php
                                                        if (isset($string_agg[$j]) && $string_agg[$j] == 2) {
                                                            echo isset($person_current[$j]) ? $person_current[$j] . " " . $rrt_name_curr[$j] . "<br>" : 'null';
                                                        } else if (isset($string_agg[$j]) && $string_agg[$j] == 1) {
                                                            echo 'self' . "<br>";
                                                        } else
                                                            echo " " . "<br>";
                                                        echo isset($prop_acq_type_name_curr[$j]) ? $prop_acq_type_name_curr[$j] . " " : '';
                                                        if (isset($acq_date_curr[$j]) && !empty($acq_date_curr[$j])) {
                                                            echo date('d-m-Y', strtotime($acq_date_curr[$j])) . " ";
                                                        } else {
                                                            echo "";
                                                        }
                                                        echo isset($share_curr[$j]) ? $share_curr[$j] : '';
                                                        ?></td>
                                                    <td><?= isset($annual_income_curr[$j]) ? $annual_income_curr[$j] : ''; ?></td>
                                                    <td><?= isset($remarks_curr[$j]) ? $remarks_curr[$j] : ''; ?></td>
                                                </tr>
                                    <?php }
                                        }
                                    } ?>
                                </tbody>
                            </table>

this is the table part and i tried to initialise this using datatable, but datatables failed to paginate or append search to it.