がるの健忘録

エンジニアでゲーマーで講師で占い師なおいちゃんのブログです。

CONVの使い方:特殊置換変

radioボタンとかselectボタンとかで「入力された値を保持したい」時に使うあれ。
都道府県の場合は、 がらくた箱( http://www.gjmj.net/ )ん中にある http://www.gjmj.net/area.html が端的に楽なんだけど(笑
書式は、こんな感じ。

<!-- 都道府県の場合:SELECTの場合、ともいう -->
<SELECT name="area">
  <option value="1" ***area:1*** >北海道</option>
  <option value="2" ***area:2*** >青森県</option>
  <option value="3" ***area:3*** >岩手県</option>
  <option value="4" ***area:4*** >宮城県</option>
  <option value="5" ***area:5*** >秋田県</option>
  <option value="6" ***area:6*** >山形県</option>
  <option value="7" ***area:7*** >福島県</option>
  <option value="8" ***area:8*** >茨城県</option>
  <option value="9" ***area:9*** >栃木県</option>
  <option value="10" ***area:10*** >群馬県</option>
  <option value="11" ***area:11*** >埼玉県</option>
  <option value="12" ***area:12*** >千葉県</option>
  <option value="13" ***area:13*** >東京都</option>
  <option value="14" ***area:14*** >神奈川県</option>
  <option value="15" ***area:15*** >新潟県</option>
  <option value="16" ***area:16*** >富山県</option>
  <option value="17" ***area:17*** >石川県</option>
  <option value="18" ***area:18*** >福井県</option>
  <option value="19" ***area:19*** >山梨県</option>
  <option value="20" ***area:20*** >長野県</option>
  <option value="21" ***area:21*** >岐阜県</option>
  <option value="22" ***area:22*** >静岡県</option>
  <option value="23" ***area:23*** >愛知県</option>
  <option value="24" ***area:24*** >三重県</option>
  <option value="25" ***area:25*** >滋賀県</option>
  <option value="26" ***area:26*** >京都府</option>
  <option value="27" ***area:27*** >大阪府</option>
  <option value="28" ***area:28*** >兵庫県</option>
  <option value="29" ***area:29*** >奈良県</option>
  <option value="30" ***area:30*** >和歌山県</option>
  <option value="31" ***area:31*** >鳥取県</option>
  <option value="32" ***area:32*** >島根県</option>
  <option value="33" ***area:33*** >岡山県</option>
  <option value="34" ***area:34*** >広島県</option>
  <option value="35" ***area:35*** >山口県</option>
  <option value="36" ***area:36*** >徳島県</option>
  <option value="37" ***area:37*** >香川県</option>
  <option value="38" ***area:38*** >愛媛県</option>
  <option value="39" ***area:39*** >高知県</option>
  <option value="40" ***area:40*** >福岡県</option>
  <option value="41" ***area:41*** >佐賀県</option>
  <option value="42" ***area:42*** >長崎県</option>
  <option value="43" ***area:43*** >熊本県</option>
  <option value="44" ***area:44*** >大分県</option>
  <option value="45" ***area:45*** >宮崎県</option>
  <option value="46" ***area:46*** >鹿児島県</option>
  <option value="47" ***area:47*** >沖縄県</option>
</SELECT>

<!-- 性別の場合、或いはradioボタンともいう -->
<input type="radio" name="sex" value="male" ***sex:male*** >男性
<input type="radio" name="sex" value="female" ***sex:female*** >女性

チェックボックスがちと手元になかったんだけど(後で書き足すかも)、書式は全く持って一緒。
nameアトリビュートのアトリビュート値とvalueアトリビュートのアトリビュート値が書いてある思えばOK。
で、プログラムは…今は conv_util.incにある

// checked用:radio , checkbox用
static public function monoDicChecked($conv, $name, $value)

// selected用:select option 用
static public function monoDicSelected($conv, $name, $value)

を使えば足りるザンス。例えば性別の場合

$sex = $_POST['sex'];
conv_util::monoDicChecked($conv, 'sex', $sex);

って感じ。checkboxの場合、第三引数を配列で渡せばOK(っつか本来配列が基本なので)。
この子の便利なのは。要素が増えてもプログラムを変更しないですむってところ。