0 レビュー
1 回答
配列の関数とevalに関するphpの問題
私には機能があります:
function selects($sql,$tmpl) {
preg_match_all('/{[^}]*}/', $tmpl, $m);
foreach($m[0] as $key => $val) {
$find[] = $val;
$replace[] = '$row[\''.str_replace(array('{','}'),"",$val).'\']';
}
eval($replace);
while($row = mysql_fetch_array($sql))
{
$selects .= str_replace($find, $replace, $tmpl)."\n";
}
return $selects;
}
echo selects($country_sql,'<option value="{id}">{name}</option>');
出力:
<option value="$row['id']">$row['name']</option>
出力する必要があります:
<option value="1">something</option>
<option value="2">something</option>
...
何かアイデアはありますか?
この関数を作成したのは、さまざまな選択があり、それらにさまざまなテンプレートが必要だからです。
ありがとうございます。
わからない
0
レビュー
答え :
解決策:
$country_sql
がSQLステートメントであると考えるとこれはうまくいきます
<?php
関数selects($ sql、$ template){
preg_match_all('/ {([^}] *)} /'、$ template、$ matches);
$ result = mysql_query($ sql); //これがありませんでしたか?
$ select ='';
while($ row = mysql_fetch_assoc($ result)){
$ aux = $ template;
for($ i = 0; $ i {name} ');
エコー"";
?>
<select>
の部分を関数に追加することもできますが、それはあなた次第です。
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。