发布时将另一个值链接到textarea元素以用作id [PHP]

时间:2016-08-20 08:00:16

标签: php html mysql server-side

我一直试图想办法在几个小时内做到这一点。所以,我正在创建一个为每个客户生成textarea标签的表单。我选择了,这部分对我来说很容易。我的问题是将每个文本区域链接到我为它们创建的客户端ID,所以当我将textarea输入发布到我的数据库时,我也可以用它发布它们的id。是否有任何想法与每个textarea发布一个值?非常感谢任何帮助...

我的textarea html代码

<td><?php echo "<textarea name='comments[]' cols='10'> </textarea>"?></td>

我尝试通过foreach循环逐个发布文本

保存我需要的信息的变量就像这样包装

<?php $clientlevel = $client.":".$i;?>

然后我使用explode()来解析它

2 个答案:

答案 0 :(得分:1)

一些伪代码,用于说明如何将客户端ID分配给每个textarea,然后处理POSTed数据。

/* query the db using preferred methods */
$sql='select * from users where selected=1';
$res=$db->query($sql);

echo "<form method='post'>";
$i=0;
/* loop through recordset to generate textareas with client id assigned to comment */
while( $rs = $db->fetch($res) ){
    $uid=$rs->userid;
    echo "<td><textarea col=50 rows=3 name='comments[\"{$uid}\"]'>Comments.. $i</textarea></td>";
    $i++;
}
echo "<input type='submit'></form>";

if( $_SERVER['REQUEST_METHOD']=='POST' ){
    echo '<div>', print_r($_POST,true), '</pre>';


    /* specifically target and process the comments */
    $comments=!empty( $_POST['comments'] ) ? $_POST['comments'] : false;
    if( $comments ){
        foreach( $comments as $uid => $text ){
            echo 'User: '.$uid.' Comment:'.$text.'<br />';
        }
    }
}



Will output something like:
Array
(
    [comments] => Array
        (
            ["client_1"] => Comments.. 0
            ["client_2"] => Comments.. 1
            ["client_3"] => Comments.. 2
            ["client_4"] => Comments.. 3
            ["client_5"] => Comments.. 4
            ["client_6"] => Comments.. 5
            ["client_7"] => Comments.. 6
            ["client_8"] => Comments.. 7
            ["client_9"] => Comments.. 8
            ["client_10"] => Comments.. 9
        )

)

答案 1 :(得分:0)

我不知道我是否理解你想要的东西......但也许是......

<td>
    <?php 
    echo "
<textarea name='comments[$id_client][]' cols='10'></textarea>";
    ?>
</td>