1

これは私を狂わせています!DBから引き出した値でHTMLテーブルを埋める必要があります。HTMLテーブルには、値ごとに100個のtdがあります。

これを実行するために入力する配列があります。

$x = 1;
$ArrayA = array();
    for ($x = 1; $x <= 100; $x++) {
        $ArrayA[$x] = 0;
    }

これで、100個の値を持つ配列ができましたね。

次に、DBにクエリを実行し、次の値で6行を「必要」(table1からnumを選択)する結果を取得します。 1,3,14,50,100.

次に、クエリの値を、前に100個の0を入力した$ArrayAに挿入します。

$x = 1;
while ($row = mysql_fetch_array($result)) 
    { 
    extract($row);
    $ArrayA[$x] = "$num";
        $x++;   
}

今これ$ArrayAを持っています: 1,3,14,17,100,0,0,0,0,0,0,0,0,0,0,0,0.....

0そして、私の目標は、説明が難しい「次の」番号が必要 な場所に置き換えることです。この結果が必要です。1,0,3,0,0,0,0,0,0,0,0,0,0,14,0,0,17,0....

PHPを使おうとしましarray_spliceたが、うまくいきませんでした。いくつかのifステートメントを試してみましたが、ロジックとプログラミングの経験はそれほど良くありません。

助言がありますか?ありがとう

4

3 に答える 3

0

これが2番目のコードブロックに必要なものだと思います:

while ($row = mysql_fetch_array($result)) 
{ 
    extract($row);
    if($num > 0 && $ <= 100 )
    {
        $ArrayA[$num] = "$num";
    } 
}

DB 値が 3、10、15、22、100 の場合、0,0,3,0,0,0,0,0,0,10,0,0,0,0,15 になります。など

于 2012-07-05T20:46:59.893 に答える
0

私がこの権利を理解していれば、クエリによって返されるすべての要素の後にゼロを追加しますか? 右?もしそうなら、配列に要素を追加した直後にゼロを追加してみませんか?

$x = 1; while ($row = mysql_fetch_array($result))      {

extract($row);     
$ArrayA[$x] = "$num";       
$x++;
$ArrayA[$x] = "0"; //adds zero after every $num insert    
}

これがあなたが求めているものではないかどうかを明確にすることができるかもしれません...

于 2012-07-05T20:49:37.170 に答える
0
$match_rows = mysql_fetch_array($result);
$rows = range(1,100);

    foreach( $rows as $row){

    echo '<td>';

        if( in_array($row, $match_rows) ){
        echo $row;
        }else{
        echo 0;
        }

    echo '</td>' . PHP_EOL; 

    }

申し訳ありませんが、それはテストされていません-短くてもきれいでもかまいませんが、そのように、あなたが望むものを達成する別の方法を示している可能性があります.

于 2012-07-05T21:16:09.813 に答える