0

一見したところ、これは非常に単純で、配列を内破してSQLクエリを作成するだけだと思っていましたが、その点に到達する方法について頭を悩ますことはできません。基本的に、ユーザー入力をテーブルに必要な方法に分解するプログラムがあり、そのデータを SQL コマンドに入れる必要があります。知恵の終わり。

HTML:

<form action="go.php" method="post">
<h1>Enter port data to view how your table will look</h1>
<label for="ports">Number of Ports:</label><input type="text" id="ports" name="ports" size="30"><br>
<label for="super">Super Columns:</label><input type="text" id="super" name="super"  size="30"><br>
<label for="columns">Columns:</label><input type="text" id="columns" name="columns" size="30"><br>
<label for="rows">Rows:</label><input type="text" id="rows" name="rows" size="30"><br>


PHP:

//post vars
$port = (int)$_POST['ports'];
$super = (int)$_POST['super'];
$col = (int)$_POST['columns'];
$row = (int)$_POST['rows'];
//rest of vars
$halfPort=$port/2;//12
$colHalf = $col / $super;//6
$half=$colHalf-1;//5
$i=1;
$count=1;
$and=1;
$one=1;
$s=1;

echo "<h1>here goes nothen</h1><br><br>";
//sperate port
$finalArray = array();
for ($i = $port; $i >= 1; $i -= $colHalf) {
    $tempArray = array();
    for ($j = 0; $j < $colHalf; $j++) {
        $tempArray[] = $i - $j;
    }
    $tempArray[]= sort($tempArray);
    $finalArray[] = implode(",", $tempArray);
}
$finalArray = array_reverse($finalArray);
echo "<pre>" . print_r($finalArray, true) . "</pre>";

echo "<br><br>";
//sql for insert
$sqlinsert='
        INSERT INTO '.$tbl_name2.'
        (PortNumber) VALUES ';
$start='(';
$end=')';
    $c=1;
$b=0;
//while to finish SQL
$queryStart=array();
$queryEnd=array();
while($c<$half){
    echo "<br>c:".$c."<br>";
$queryStart[]=explode(',',$finalArray[$b]);
    echo "<pre>" . print_r($queryStart, true) . "</pre>";
    $queryEnd[]=

$c+=$and;
$b+=$and;
unset($queryStart);
}

これは私の最初のプリントの出力です:

Array
(
[0] => 1,2,3,4,5,6,1
[1] => 7,8,9,10,11,12,1
[2] => 13,14,15,16,17,18,1
[3] => 19,20,21,22,23,24,1
)

そして2番目:

c:1
Array
(
[0] => Array
    (
        [0] => 1
        [1] => 2
        [2] => 3
        [3] => 4
        [4] => 5
        [5] => 6
        [6] => 1
    )

)

c:2
Array
(
[0] => Array
    (
        [0] => 7
        [1] => 8
        [2] => 9
        [3] => 10
        [4] => 11
        [5] => 12
        [6] => 1
    )

)

c:3
Array
(
[0] => Array
    (
        [0] => 13
        [1] => 14
        [2] => 15
        [3] => 16
        [4] => 17
        [5] => 18
        [6] => 1
    )

)

c:4
Array
(
[0] => Array
    (
        [0] => 19
        [1] => 20
        [2] => 21
        [3] => 22
        [4] => 23
        [5] => 24
        [6] => 1
    )

)

私はとても近くにいるように感じますが、最後の少しだけ平手打ちをすることはできません。何か案は?

また、補足として、配列の末尾にある 1 は無視してください。sort()

4

0 に答える 0