アプリ版:「スタンプのみでお礼する」機能のリリースについて

<?php
$box_template .=<<<eof
<a href="{$myrow["url"]}" rel="nofollow">
<img src="{$myrow["image1"]}" width="157" /><img src="{$myrow["image2"]}" width="100" />
</a>
eof;

mysql_db_read($mysql_query,$box_template);

function mysql_db_read($mysql_query,$box_template){
$db = mysql_connect("*******","****","****");
mysql_select_db("******",$db);
$result = mysql_query($mysql_query,$db);
if ($myrow = mysql_fetch_array($result)) {
do {
$myrow["url"] = htmlspecialchars($myrow["url"]);
$myrow["image1"] = htmlspecialchars($myrow["image1"]);
$myrow["image2"] = htmlspecialchars($myrow["image2"]);

print $box_template;

} while ($myrow = mysql_fetch_array($result));
} else {echo "error";}
}//function
?>

$box_templateの{$myrow["url"]}などにmysqlから取ってきたデータを適用したいのですが、{$myrow["url"]}に値が入ってくれません。
どうすればいいのでしょうか。
教えてください。よろしくお願いします。m(_ _)m

A 回答 (1件)

$box_templateが先行して文字列として確定しているので、


今のままではどうやっても無理でしょうね。

あえてやるなら$box_template内の変数をエスケープしておき、
あとからeval()で値を代入してやるとか・・・
ただこんなことするくらいなら、最初からwhileループの中で
テンプレ相当の文字を書けばいい気がするので、微妙です。

以下サンプル

<?php
$box_template =<<<eof
<a href="{\$myrow["url"]}" rel="nofollow">
<img src="{\$myrow["image1"]}" width="157" /><img src="{\$myrow["image2"]}" width="100" />
</a>
eof;

$myrow["url"]="test.htm";
$myrow["image1"]="test1.jpg";
$myrow["image2"]="test2.jpg";

$box_template=<<<eof
print <<<eof_sub
{$box_template}

eof_sub;

eof;
$box_template=eval($box_template);
print $box_template;
?>
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!