2016-08-20 3 views
0

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

MY HTML код для текстового поля

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

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

переменная держит информацию, мне нужно это завернутые как этот

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

затем я использую explode() разобрать его

+0

У вас на самом деле нет достаточного кода - например, как вы публикуете информацию? Вы публикуете ВСЕ текстовые поля сразу или каждый отдельно? – RamRaider

+0

@RamRaider Я отправляю один за другим через цикл foreach – LearningCODE

+0

Можете ли вы показать нам структуру переменной, содержащую данные клиента? – PaulH

ответ

1

Некоторые псевдо-код, чтобы показать, как можно назначить идентификатор клиента для каждого текстового поля, а затем обработать 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 
     ) 

) 
+0

К сожалению, это не то, что я ищу. Возможно, я был неясен. Я хочу получить комментарий в php, а также получить их идентификатор для использования в операторе mysql. – LearningCODE

+0

@ LearningCODE, но вы можете сделать именно это. то есть 'foreach ($ _POST [comments] как $ userId => $ commentText) {... // dbLookup с $ userId ...}'. Если вы 'var_dump ($ _ POST ['comments']),' вы увидите, что вся необходимая вам информация есть. –

+0

@LearningCODE - вы можете повторить это, чтобы получить идентификатор пользователя и связанный с ним комментарий – RamRaider

0

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

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

Что это значит? Как я могу получить доступ к этому сообщению? Извините за неудобства и благодарю вас за помощь! – LearningCODE

+0

Если вы получите ключ «comments» в $ _POST var, вы получите массив со всеми комментариями, отсортированными по id_client. Поэтому, если вы хотите получить комментарии, отправленные конкретным клиентом, вы должны сделать это: $ comments = $ _POST ["comments"]; $ comments_client_id_one = $ comments ["1"]; Хорошо, я уже не говорил, что «id_client» должен быть переменным, которая содержит id_client, так что правильный путь: "?> – xpeiro

+0

Когда я пытаюсь получить доступ к $ comments [" 1 "], я ничего не получаю ... но $ comments [" 0 "] содержит мой комментарий. – LearningCODE