Link 发帖时文本区域元素的另一个值用作 id [PHP]
Link another value to a textarea element when posting to use as an id [PHP]
几个小时以来,我一直在努力寻找一种方法来做到这一点。因此,我正在创建一个表单,为我选择的每个 'client' 生成 textarea 标签,这部分对我来说很容易。我的问题是将每个文本区域链接到我为他们创建的客户 ID,因此当我 post 将文本区域输入到我的数据库时,我也可以 post 他们的 ID。是否有任何想法 post 每个 textarea 的值?非常感谢任何帮助...
我的 html textarea 代码
<td><?php echo "<textarea name='comments[]' cols='10'> </textarea>"?></td>
我尝试通过 foreach
循环 post 文本,一个接一个
保存我需要的信息的变量是这样包装的
<?php $clientlevel = $client.":".$i;?>
然后我用explode()
解析它
我不知道我是否理解你想要什么......但也许......
<td>
<?php
echo "
<textarea name='comments[$id_client][]' cols='10'></textarea>";
?>
</td>
一些伪代码展示了如何将客户端 ID 分配给每个文本区域,然后处理 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
)
)
几个小时以来,我一直在努力寻找一种方法来做到这一点。因此,我正在创建一个表单,为我选择的每个 'client' 生成 textarea 标签,这部分对我来说很容易。我的问题是将每个文本区域链接到我为他们创建的客户 ID,因此当我 post 将文本区域输入到我的数据库时,我也可以 post 他们的 ID。是否有任何想法 post 每个 textarea 的值?非常感谢任何帮助...
我的 html textarea 代码
<td><?php echo "<textarea name='comments[]' cols='10'> </textarea>"?></td>
我尝试通过 foreach
循环 post 文本,一个接一个
保存我需要的信息的变量是这样包装的
<?php $clientlevel = $client.":".$i;?>
然后我用explode()
解析它
我不知道我是否理解你想要什么......但也许......
<td>
<?php
echo "
<textarea name='comments[$id_client][]' cols='10'></textarea>";
?>
</td>
一些伪代码展示了如何将客户端 ID 分配给每个文本区域,然后处理 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
)
)