2012-05-08 10 views
0

PHP変数として割り当てられているテンプレートのhtmlフォーム内でphp関数を使用しようとしています。私は標準$変数を使用することができることを知っていて、それは表示されますが、関数の使い方はわかりません。phpフォームテンプレート変数内にphp関数を埋め込む

基本的に、ドロップダウン選択フォームにデータを挿入するために使用する値のセットを持つデータベースがあります。私はいくつかの場所にフォームを表示する必要がありますので、変数を使ってフォームにテンプレートを設定するのが理にかなっています。

これまでのところ、私は以下のPHPを持っています。どんな助けも喜んで受け取ります!配列はうまく動作しますが、私が苦労しているフォームの中に表示します。

$query = "SELECT 
    property.propertyid, 
    property.reference, 
    property.userid, 
    users.userid, 
    users.username 
FROM 
    property 
    LEFT JOIN users ON property.userid = users.userid 
WHERE 
    property.userid = ".$varuserid." 
    "; 

$result = mysql_query($query) or die(mysql_error()); 
$listarr=array(); 
while($qy = mysql_fetch_array($result)){ 
$listarr[] = "<option value=\"".$qy['propertyid']."\">".$qy['reference']."</option>"; 
} 

$form = <<<HTML 
<form name="insert" method="post" action="?page=account&amp;a=insert&amp;form=1"> 
    <table width="100%" border="0" cellpadding="4" cellspacing="0"> 
    <tr> 
     <td width="24%" align="left" valign="top">Property ID</td> 
     <td width="76%">  
     <select name="propertyid" size="1"> 

foreach($listarr as $key => $value) { echo $value } 

     </select> 
     </td> 
    </tr> 
    <tr> 
     <td align="left" valign="top">&nbsp;</td> 
     <td> 
     <input name="userid" type="hidden" id="userid" value=$varuserid /> 
     <input type="submit" name="submit" value="Insert transaction!" /></td> 
    </tr> 
    </table> 
</form> 
HTML; 

おかげで、 シメオンenter code here

答えて

0

heredocの内部でループを使用することはできません。変数を使用できます。あなたはすでにあなたのリストを持っていたよう

、何を行うことができますすることです。

while($qy = mysql_fetch_array($result)){ 
    $listarr[] = "<option value=\"".$qy['propertyid']."\">".$qy['reference']."</option>"; 
} 
$list = implode(" ", $listarr); 

そして、あなたのヒアドキュメント中:

<select name="propertyid" size="1"> 
    {$list} 
</select> 

編集:あなたはすべての変数のためにそれを行う必要があり注意あなたはheredocに以下を含める:

<input name="userid" type="hidden" id="userid" value={$varuserid} /> 
                ^  ^
+0

信じられないほど役に立ちます。ありがとう – Simeon

0

は、これは私が何をしがちです:

<select name="propertyid" size="1">  
<?php foreach($listarr as $key => $value) { ?> 
    <option value="<?php echo $value; ?>"><?php echo $value; ?></option> 
<?php } ?> 
</select> 

それでもページのフォーマットを見ることができますこの方法:)

+0

ありがとう - 私はこのようなものを試したと思うutはちょっと立ち往生して動作させることができませんでした - 部分的には、配列内に2つの異なる変数があります - 一つは参照であり、もう一つはidです。 – Simeon

関連する問題