Связать другое значение с элементом textarea при публикации для использования в качестве идентификатора [PHP]

php html mysql server-side

85 просмотра

2 ответа

Я пытался найти способ сделать это в течение пары часов. Итак, я создаю форму, которая генерирует теги textarea для каждого «клиента», которого я выбрал, эта часть проста для меня. Моя проблема заключается в том, чтобы связать каждую текстовую область с идентификатором клиента, который я для них создал, поэтому, когда я публикую входные данные textarea в моей базе данных, я также могу опубликовать их идентификатор. Есть ли какие-либо идеи для публикации значения с каждой текстовой области? Любая помощь очень ценится ...

МОЙ HTML-код для textarea

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

Я пытаюсь опубликовать текст через foreachцикл, один за другим

Переменная, содержащая нужную мне информацию, упакована примерно так

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

Я тогда использую, explode()чтобы разобрать это

Автор: LearningCODE Источник Размещён: 08.11.2019 11:02

Ответы (2)


1 плюс

Решение

Некоторый псевдокод, чтобы показать, как вы можете назначить идентификатор клиента каждой текстовой области и затем обработать POST-данные.

/* 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
        )

)
Автор: RamRaider Размещён: 20.08.2016 08:35

0 плюса

Я не знаю, понимаю ли я, что вы хотите ... но, может быть, это ...

<td>
    <?php 
    echo "
<textarea name='comments[$id_client][]' cols='10'></textarea>";
    ?>
</td>
Автор: xpeiro Размещён: 20.08.2016 08:04
Вопросы из категории :
32x32