重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

2次元配列を下記のようなソースで処理し、GETで取得したパラメーターと同じならば、スマーティーをつかって、検索フォームに値をわたしたい(次のページにいった時にフォームのチェックボタンなどをチェックしたいとかんがえています。(foreachはつかわないで)単体と複合の配列は、ラジオボタン、一戸建てと大規模のほうはチェックボックスにしたいと考えてます。
現在は、値が表示されない状態です。どうしたらよいでしょうか?

//------------検索画面にひとつのパラメーターをわたす機能
$flagbreak=0;
foreach($arr_parame as $row){
$i=1;
foreach($row as $id => $list){

if( $id2 == $list['url'] ){
//$id2はGETで取得した値
$check_flag = $list['url'];
$parame[$id][$check_flag] = '変数に渡す値を記入';


$flagbreak=1;
break;
}
}
if($flagbreak == 1)break;
}

$smarty -> assign("paramelist" , $parame);
//smartyのしょり

tplでは、{$paramelist.id.url}と書いてます。
/////////////////////////////////////////////////////////
2次元配列
$arr_parame = array(
array(
array('no' => 1 , 'url' => 'un', 'title' => '単体'),
array('no' => 2 , 'url' => 'com', 'title' => '複合')),
array(
array('no' => 1 , 'url' => 'ko', 'title' => '一戸建て'),
array('no' => 2 , 'url' => 'man', 'title' => '大規模住宅'));

A 回答 (1件)

文章からやりたい事を汲み取ることが出来ていないのですが、


テンプレートに

{$paramelist.id.url}

と書かれているのであれば、PHP側は

#$parame[$id][$check_flag] = '変数に渡す値を記入';
ではなくて、

$parame['id']['url'] = '変数に渡す値を記入';

と渡してやる必要があるのではないでしょうか。

Smartyにはhtml_checkboxesなどの処理があるので、これと上手く併用できると楽に出来るんじゃないかな?って思います。
    • good
    • 0

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