Как отобразить результат с помощью тега HTML <table>в столбцах по 50 записей в каждом (кроме последнего столбца)? - PullRequest
0 голосов
/ 09 декабря 2018

Я написал программу, которая в настоящее время генерирует 540 различных чисел.

Я хочу отобразить эти 540 различных чисел в столбцах по 50 записей в каждом (кроме последнего столбца, в котором количество записей должно быть меньше 50) с использованием тега HTML <table>, но я не могусделайте это, так как существует очень много циклов и применяются условия.

Ниже приведена моя программа:

<?php
function findFourElements() { 

    $possible_numbers = '';

    $sr_no = 0;

    $row_count = 0;

    for ($i = 0; $i <= 9; $i++) {

        for ($j = 0; $j <= 9; $j++) {

            for ($k = 0; $k <= 9; $k++) {

                for ($l = 0; $l <= 9; $l++) {

                  $possible_numbers[0] = $i;
                  $possible_numbers[1] = $j;
                  $possible_numbers[2] = $k;
                  $possible_numbers[3] = $l;

                    if((int)$possible_numbers[0] + (int)$possible_numbers[1] + (int)$possible_numbers[2] + (int)$possible_numbers[3] === 14) {
                        $sr_no++;
                        echo $sr_no. ') ' . $possible_numbers[0].$possible_numbers[1].$possible_numbers[2].$possible_numbers[3]. '<br>';                        
                    }
                }
            }
        }
    }   
}

findFourElements(); 
?> 

Пожалуйста, кто-нибудь, помогите мне с моей логикой.

Ответы [ 2 ]

0 голосов
/ 09 декабря 2018

Вы можете использовать этот код:

<?php 
function findFourElements()
{

    $response = [];

    $possible_numbers = '';
    $sr_no = 0;

    $row_count = 0;

    for ($i = 0; $i <= 9; $i++) {

        for ($j = 0; $j <= 9; $j++) {

            for ($k = 0; $k <= 9; $k++) {

                for ($l = 0; $l <= 9; $l++) {

                    $possible_numbers[0] = $i;
                    $possible_numbers[1] = $j;
                    $possible_numbers[2] = $k;
                    $possible_numbers[3] = $l;

                    if ((int)$possible_numbers[0] + (int)$possible_numbers[1] + (int)$possible_numbers[2] + (int)$possible_numbers[3] === 14) {
                        $sr_no++;
                        $response[] = $possible_numbers[0] . $possible_numbers[1] . $possible_numbers[2] . $possible_numbers[3];
                    }
                }
            }
        }
    }
    return $response;
}


$response = findFourElements();

$data = array_chunk($response, 50);

$srNo = 1;
?>

<table>
    <tr>
        <?php foreach ($data as $key => $value) { ?>
            <td>
                <table>
                    <tr>
                        <th>Sr. No.</th> <th>Vehicle No.</th>
                    </tr>
                    <?php foreach ($value as $val) { ?>
                        <tr>
                            <td>
                                <?php echo $srNo ?>
                            </td>
                            <td>
                                <?php echo $val ?>
                            </td>
                        </tr>
                    <?php $srNo++; } ?>
                </table>
            </td>
        <?php } ?>
    </tr>
</table>

, если вы не хотите работать с ответом возврата, вы можете добавить дополнительный код внутри функции.

0 голосов
/ 09 декабря 2018

Вы должны использовать оператор while.

<!DOCTYPE html>
<html>
  <head>
    ...
  </head>
  <body>
<?php

/** Calculations
(# = amount)
540/50 = 10.8   (# of rows)
50*0.8 = 40     (# of records in last row)
*/
echo "<table>";


    $x = 0;
    $ranNum = 0;
    echo "<tr>";

        while ($x < 540) {
          /* a round number (1,2,3,4,5,...) %1 = 0.
          So (Number/50)%1 is only 0 if it's in the multiplication table of 50*/
          if ((($x/50)%1) == 0) { 
            echo "</tr>";
            echo "<tr>";
          }
          $ranNum = rand(1000,9999); // random number
          echo "<td id='Track".$x."'>".$ranNum."</td>";
          $x++;
        }

    echo "</tr>";


echo "</table>";
?>
  </body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...