Получить идентификатор из данных $ _POST для связанных текстовых областей - PullRequest
1 голос
/ 25 июня 2019

Попытка связать два поля в POST, получив идентификатор.

Каждый «songfld» имеет уникальный номер, как показано ниже. Текстовое поле связано с этим номером.

Поля формы:

<input type="text" name="songfld[901]" value="">
<textarea name="data[901][name]" id="txt-901" rows="2" cols="80"></textarea>

<input type="text" name="songfld[902]" value="">
<textarea name="data[902][name]" id="txt-902" rows="2" cols="80"></textarea>

И пытается получить ID 901 и 902 здесь:

foreach($_POST['songfld'] as $val){
    $val is the value from input
    $id = $_POST['songfld'][0];     // the number in each name="songfld[X]"
    $namefld = $_POST['data'][$id]['name']; // gives the value from textarea

    echo "<P>$id $idfld $namefld";
}

Конечно, значение проходит, но я бы хотел, чтобы этот уникальный номер также присутствовал в каждом сообщении.

надеюсь, кто-то знает этот трюк.

Ответы [ 3 ]

2 голосов
/ 25 июня 2019

Проверьте ваши данные следующим образом:

<code>echo "<pre>";
print_r($_POST);
echo "
"; выход;

Также попробуйте:

<code>echo "<pre>";
print_r($_POST['songfld']);
echo "
";выход;

Вы увидите, что именно в массивах.

foreach($_POST['songfld'] as $name => $val){
  ...
}
1 голос
/ 25 июня 2019
$sInputFields = '';
for( $i=901;$i<903;$i++ ){

    $sInputFields .= '<input type="text" name="songfld[' . $i . ']" value="">';

    $sInputFields .= '<textarea name="data[' . $i . '][name]" id="txt-' . $i . '" rows="2" cols="80"></textarea><br>';
}
echo $sInputFields;

Вы можете попробовать это

1 голос
/ 25 июня 2019

Попробуйте это:

foreach($_POST['songfld'] as $key => $val){

   // $key holds the value you are looking for
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...