2012-02-13 11 views
0

私は、autoincrementに変数名でさまざまなフィールドを記録するフォームを持っています。 私は自分のフォーム変数を保存自動インクリメントで変数を表示

<form> 
<?php 
    $i = 1; 
    foreach ($variables as $var) { 
     echo '<input type="text" name="txt$i" value="$var->name" />'; 
     $i ++; 
    } 
?> 
</form> 

のように見え、私の質問は、入力フィールドの値を表示する方法ですが、私はことを確認、しかし

<?php 
    foreach ($variables as $var) { 
     echo $var->txt$i; 
     $i ++; 
    } 
?> 

答えて

2

両方のスクリプトに2つのバグがあります。ここでそれらは固定されています。

<form> 
<?php 
$i = 1; 
foreach ($variables as $var) { 
    echo '<input type="text" name="txt' . $i . '" value="' . $var->name . '" />'; 
    $i++; 
} 
?> 
</form> 
<?php 
$i = 1; 
foreach ($variables as $var) { 
    echo $var->{"txt" . $i}; 
    $i++; 
} 
?> 
1

In PHP, single-quoted strings do not allow for variable interpolationを働いていません。

試してみてください。

echo '<input type="text" name="txt$i" value="$var->name" />'; 

と変数補間が起こらない単一引用符の内側を:あなたは、単一引用符を使用しているため

echo '<input type="text" name="txt' . $i . '" value="' . $var->name . '" />'; 
+0

こんにちはジャック、あなたの答えをありがとうが、どのように各機能のために保存した後にそれを表示するには? – Tomaw

+0

あなたが何を求めているのか分かりません。何の後に何を表示するのですか? –

1

これが起こっています。

代わりに使用します。

echo '<input type="text" name="txt'.$i.'" value="'.$var->name.'" />'; 
+0

こんにちはCodeaddict、あなたの答えのおかげで、どのように各機能のために保存した後にそれを表示するには? – Tomaw

-1

は、あなたの質問から欲しいものを得ることができません。
はちょうど

echo $txt.$i; 

ことができますか?

+0

Hello Col. Shrapnel、 答えはありがたいですが、 "1"と表示されません。 – Tomaw

+2

Hello Tomaw、ご意見ありがとうございますが、正解を得るには賢明な質問をしなければなりません。 –

0

これは動作するはずです、あなたは二重引用符で変数を配置する必要があり

<form> 
<?php 
    $variables = array("red","yellow","blue","orange","green"); 
    $i = 1; 

foreach ($variables as $var) { 
    $name = "txt".$i; 
    echo "<input type='text' name='".$name."' value='".$var."' />"; 
    $i++; 
} ?> 
</form> 

は、私は名前の変数を作成し、それ

の終わりまでにインクリメントされた値を連結するために容易になるだろうと思いました
関連する問題