Как получить это имя с идентификатором после нажатия кнопки отправки? - PullRequest
0 голосов
/ 12 февраля 2020

В приведенном ниже коде я использую имя входного результата + идентификатор строки и работает должным образом.

<td class="t-width-150" id="result">
   <input type="text" name="result<?php echo $row['id']; ?>" id="txtresult" value="0">
</td>

Теперь я хочу получить это имя с идентификатором на другой странице после нажатия кнопки Отправить. кнопка. Что я должен использовать в коде ниже:

<td class="t-width-150">
  <?php echo $_POST['result']; ?>
</td>

Спасибо!

Обновление: я решил это. Не нужно больше ответов. Спасибо всем!

Ответы [ 2 ]

1 голос
/ 12 февраля 2020

Вы можете использовать такой формат именования полей формы:

name="result[<?php echo $row['id']; ?>]"

Таким образом, это приведет к таким именам полей, как result[1], result[2], result[5] (идентификаторы не нужны быть последовательным или для этого.)

PHP затем сгенерирует массив из этого в $_POST['result'], который вы можете l oop использовать, используя расширенный синтаксис foreach, чтобы получить доступ к и ваш идентификатор строки и представленное значение:

foreach( $_POST['result'] as $id => $value ) {
  echo "The submitted value for the record with ID ", $id, " was ", $value, "<br>\n";
}
0 голосов
/ 12 февраля 2020

Вы говорите, что не знаете заранее, какие будут переменные POST, потому что в форме есть неизвестное количество результатов и, следовательно, неизвестное количество текстовых полей? Если это так, то вы можете либо

a) L oop через все переменные $_POST, чтобы найти любую, начинающуюся с "result", а затем извлечь из нее значение, например

foreach (array_keys($_POST) as $key)
{
  if (preg_match("/result(\d+)/", $key, $matches))
  {
    echo $_POST[$key]; //will get the value entered in the input field
    echo $matches[1]; //will get you the row ID from the field name e.g. from "result123" it would return "123".
  }
}
* 1006. * Или

b) использовать синтаксис массива в именах полей формы и разделить поля результата и идентификатора, например,

<input type="text" name="result[]" id="txtresult" value="0" />
<input type="hidden" name="rowID[]" value="<?php echo $row['id']; ?>"/>

, а затем в PHP вы бы l oop до $_POST["result"], а затем проверьте соответствующий индекс в $_POST["rowID"], который будет массивом, чтобы связать результат вместе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...