0

MySQL テーブルは次のようになります。 ここに画像の説明を入力

出力のコードは次のとおりです。

<li>
    <a class="thumb" href="library/<?php echo $row2['projectname']; ?>/<?php echo $row2['projectrecordnum']; ?>.<?php echo $row2['projectformat']; ?>" title="<?php echo $row2['projectrecordtitle']; ?>">
        <img src="library/<?php echo $row2['projectname']; ?>/thumbs/<?php echo $row2['projectrecordnum']; ?>.<?php echo $row2['projectformat']; ?>" alt="<?php echo $row2['projectrecordtitle']; ?>" />
    </a>
    <div class="caption">
        <div class="image-title"><?php echo $row2['projectrecordtitle']; ?></div>
        <div class="image-desc"><?php echo $row2['projectrecorddesc']; ?></div>
        <div class="download">
            <a href="library/<?php echo $row2['projectname']; ?>/<?php echo $row2['projectrecordnum']; ?>.<?php echo $row2['projectformat']; ?>" target="_blank">Download Original</a>
        </div>
    </div>
</li>

出力は次のようになります。

<li>

    <a class="thumb" href="library/ultima/2.jpg" title="Timbo DISPLACED">

        <img src="library/ultima/thumbs/2.jpg" alt="Timbo DISPLACED" />

    </a>

    <div class="caption">

        <div class="image-title">Timbo DISPLACED</div>

        <div class="image-desc">Made in 3ds Max, background, color and lens flare from Photoshop</div>

        <div class="download">

            <a href="library/ultima/2.jpg" target="_blank">Download Original</a>

        </div>

    </div>

</li>

私の問題は、ユーザーが望む多くのフィールドを作成するフォームを作成する方法が見つからないことです。次に、各ファイル情報を mysql db にアップロードして書き込みます (ファイルの量は明確ではないことに注意してください)。

4

1 に答える 1

1

具体的な質問ではありませんが、出発点を提供しようと思います。

まだフォームがないと思います...

参考htmlentities()までに:出力をエスケープするか、同様のものを使用してもかまいません!

1) ダミー データを使用しましたが、これを連想 DB 結果セットに置き換えることができます。

$rows = array(
    array(  'projectname' => 'ultima',
            'projectrecordnum' => '1',
            'projectrecordtitle' => 'The ball of destruction'),
    array(  'projectname' => 'ultima',
            'projectrecordnum' => '2',
            'projectrecordtitle' => 'Timbo DISPLACED'),
    array(  'projectname' => 'ultima',
            'projectrecordnum' => '3',
            'projectrecordtitle' => 'Exposure')
);

2) PHP で結果をループする単純な HTML フォームを作成しました。

<form method="post" action="#">
<?php foreach( $rows as $row ) { ?>
    <div class="caption">
        <div class="">
            <input type="text" name="projectname[]" value="<?php echo $row['projectname']; ?>">
        </div>
        <div class="">
            <input type="text" name="projectrecordnum[]" value="<?php echo $row['projectrecordnum']; ?>">
        </div>
        <div class="">
            <input type="text" name="projectrecordtitle[]" value="<?php echo $row['projectrecordtitle']; ?>">
        </div>
        <?php /* and so more fields ... */ ?>
    </div>
    <hr />
<?php } ?>
    <input type="submit" name="send" value="send" />
</form>

3)そして、アレイactionを再構築できます:$rows

if( isset($_REQUEST['send']) ) {
    $rows  = array();
    for( $i = 0; $i < count( $_POST['projectname'] ); $i++) {
        $row = array(
            'projectname' => $_POST['projectname'][$i],
            'projectrecordnum' => $_POST['projectrecordnum'][$i],
            'projectrecordtitle' => $_POST['projectrecordtitle'][$i],
        );
        if( ! empty( $_POST['projectname'][$i] ) ) { 
            array_push( $rows, $row );
        }
        unset($row);
    }

    // Your data array...
    print '<pre>'. print_r($rows, true) . '</pre>';
}
于 2012-07-31T14:49:13.553 に答える