コンボボックス生成時の文字埋め方法

このQ&Aのポイント
  • コンボボックス生成時に文字を埋める方法について学びましょう。
  • LPAD関数を使用して文字を埋める方法について試していますが、上手くいかないようです。
  • 助言がありましたらご教授願います。
回答を見る
  • ベストアンサー

コンボボックス生成の際の文字埋め

print("<select name=\"emonth\">\r");  for( $i = 1; $i <=12; $i++ ){   if($i == $month ){    print("<option value=$i selectd>$i</option>\r");   }else{    print("<option value=$i>$i</option>\r");    }  } print("</select>"); 上記のようなソースの場合$iの頭を0で埋めて2桁にする場合どのような方法がありますでしょうか? LPAD関数を使ったのですがうまくいきませんでした。 例)print("<option value=lpad($i,2,'0')>$i</option>\r"); よろしくご教授願います。

  • PHP
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • warez
  • ベストアンサー率57% (29/50)
回答No.1

printf('<option value="%02d">%02d</option>', $i, $i)

server123
質問者

お礼

ありがとうございました。 希望通りの結果が得られました。

関連するQ&A

  • 日付のセレクトボックスで0付きの日付にしたい

    ネットで探した式を張り付ける位しかできない超初心者です。 以下のような当日表示の日付のセレクトボックス を探してペーストしたのですが1や2を01、02と表示しません。 これをどうやって直せば01,02,03,04,05と0付きの表示のセレクトボックスに 直せるでしょうか? どうぞよろしくお願いいたします。 <? $time = time(); $year = date("Y", $time); $month = date("n", $time); $day = date("j", $time); print("<select name=\"ayear\">"); //年は修正してください for( $i = 2010; $i <= 2020; $i++ ){ if( $i == $year ){ print("<option value=\"$i\" selected>$i</option>"); }else{ print("<option value=\"$i\">$i</option>"); } } print("</select>年"); print("<select name=\"amonth\">"); for( $j = 1; $j <= 12; $j++ ){ if( $j == $month ){ print("<option value=\"$j\" selected>$j</option>"); }else{ print("<option value=\"$j\">$j</option>"); } } print("</select>月"); print("<select name=\"aday\">"); for( $k = 1; $k <=31 ; $k++ ){ if( $k == $day ){ print("<option value=\"$k\" selected>$k</option>"); }else{ print("<option value=\"$k\">$k</option>"); } } print("</select>日"); ?>

    • ベストアンサー
    • PHP
  • 日記のスクリプトで日付の移動メニューを作りたい

    日記スクリプトを書いているのですが 何年何月の日記のページに移動するのに セレクトメニューで移動するようにしたいのですが 以下のスクリプトだとどうしても日付が表示されません どこが間違っているのでしょうか print"<select name=>\n"; foreach(0 .. $year) { if($year eq "$w_year[$_]"){print"<option value=\"$w_year[$_]/$month[$_]/1\" selected>$w_year[$_]/$month[$_]\n";} else{print"<option value=\"$w_year[$_]/$month[$_]/1\">$w_year[$_]/$month[$_]\n";} } print"</select>\n";

    • 締切済み
    • CGI
  • phpで作る親子のコンボボックスについて

    phpだけでコンボボックスを作りたいのですが良い方法が見つかりません。 javascriptを使う方法は下記サイトに方法が載っているのでわかるのですが、 http://phpjavascriptroom.com/exp.php?f=include/js/selectoption/pulldown.inc&ttl=%E9%80%A3%E5%8B%95%E3%83%97%E3%83%AB%E3%83%80%E3%82%A6%E3%83%B3 post関数を使えば良いと思いますが、ページの移動なく、クリックイベントを条件分岐できないかと思案中です。助言をお願いします。 <?php $titles = array('さんぷる','サンプル'); $example = array('1', '2'); echo '<select name="test">'; foreach ($titles as $key => $sample) { if ($ibanners == $ibanner) { echo '<option name="' . $example[0] . '" value="' . $example[0] . '" selected="selected">' . $sample . '</option>'; } else { echo '<option name="' . $example[1] . '" value="' . $example[1] . '">' . $sample . '</option>'; } } echo '</select>'; $momo = array('さっかー','やきゅう','ばすけ','ごるふ'); $tetsu = array('サッカー','ヤキュウ','バスケ','ゴルフ'); echo '<select name="saikoro">'; foreach($momo as $bonbi) { if ($GODbonbi == $bonbi) { echo '<option name="カテゴリ01" value="' . $bonbi . '" selected="selected">' . $bonbi . '</option>'; } else { echo '<option name="カテゴリ01" value="' . $bonbi . '">' . $bonbi . '</option>'; } } foreach($tetsu as $bonbi) { if ($GODbonbi == $bonbi) { echo '<option name="カテゴリ02" value="' . $bonbi . '" selected="selected">' . $bonbi . '</option>'; } else { echo '<option name="カテゴリ02" value="' . $bonbi . '">' . $bonbi . '</option>'; } } echo '</select>'; ?>

    • ベストアンサー
    • PHP
  • HTMLのSelectBOXがonchangeした場合の処理方法について

    下記のコードで、 "サイズ"選択するとそのサイズの在庫数に応じて セレクトBOXの"数量"の値を再表示させたいのですが、 やはりPHPだけでは不可能でしょうか?(クライアントは選択するのみでボタンなどは押さずに) また、JavaScriptのonchange()を使用して行う場合も PHPとの連携が良く分かりません。 具体例を元にご教授頂けると幸いです。 <?php if($article_size[$i]){ print"<br /> 【サイズ】 <select name='a_size' style='height:8; ' > <option value=''>選択</option>"; for($ii=1;$ii<=$ii_max;$ii++){ if($article_info[$i][$ii]["amount"]>0){ print " <option value='".$article_size[$i][$ii]."'>".$article_size[$i][$ii]." </option>"; }else { print " <option value='".$article_size[$i][$ii]."品切れ'>".$article_size[$i][$ii]."品切れ</option>"; }//END OF IF }//END OF FOR print" </select>"; } else { print" <br />"; }//END OF IF ELSE ?> 【数量】 <select name='a_amount' style="height:8; "> <?php if($article_info[3][0]["amount"]<=0){ print" <option value='0'>品切れ</option>"; }else if($article_info[3][0]["amount"]>0){ for($iii=1;$iii<=$article_info[3][0]["amount"];$ii++){ print" <option value='".$iii."'>".$iii."</option>"; } } ?> </select>

    • 締切済み
    • PHP
  • 生年月日・年月日のフォームが表示されない

    お世話になります。 下記のタグでは、表示されません。 サーバーの問題なのか、タグの問題かわかりませんので、 まず、タグを見て頂けませんか? よろしくお願いします。 ------------------------------------------------ <td width="30%">生年月日</td> <td width="70%"><script type="text/javascript"> document.write("<select name=\\"296643_year\\">"); for(i=1900;i<2010;i++){ if(i==1950){ document.write("<option value="+i+" selected>"+i+"</option>"); }else{ document.write("<option value="+i+">"+i+"</option>"); } }document.write("</select>"); document.write(" 年 "); document.write("<select name=\\"296643_month\\">"); for(i=1;i<13;i++){ if(i==1){ document.write("<option value="+i+" selected>"+i+"</option>"); }else{ document.write("<option value="+i+">"+i+"</option>"); }} document.write("</select>"); document.write(" 月 "); document.write("<select name=\\"296643_day\\">"); for(i=1;i<32;i++){ if(i==1){ document.write("<option value="+i+" selected>"+i+"</option>"); }else{ document.write("<option value="+i+">"+i+"</option>"); }}document.write("</select>"); document.write(" 日 "); </script> <br><font size="1"></font></td> </tr> <tr> ---------------------------------------------------------------- <td width="30%">電話の場合の日時</td> <td width="70%"> <script type="text/javascript"> document.write("<select name=\\"296652_year\\">"); for(i=2009;i<=2010;i++){ if(i==2009){ document.write("<option value="+i+" selected>"+i+"</option>"); }else{ document.write("<option value="+i+">"+i+"</option>"); } } document.write("</select>"); document.write(" 年 "); document.write("<select name=\\"296652_month\\">"); for(i=1;i<13;i++){ if(i==4){ document.write("<option value="+i+" selected>"+i+"</option>"); }else{ document.write("<option value="+i+">"+i+"</option>"); } } document.write("</select>"); document.write(" 月 "); document.write("<select name=\\"296652_day\\">"); for(i=1;i<32;i++){ if(i==23){ document.write("<option value="+i+" selected>"+i+"</option>"); }else{ document.write("<option value="+i+">"+i+"</option>"); }} document.write("</select>"); document.write(" 日 "); document.write("<select name=\\"296652_hour\\">"); for(i=0;i<24;i++){ if(i==0){ document.write("<option value="+i+" selected>"+i+"</option>"); }else{ document.write("<option value="+i+">"+i+"</option>"); } } document.write("</select>"); document.write(" 時 "); document.write("<select name=\\"296652_minute\\">"); for(i=0;i<60;i=i+5){ if(i==0){ document.write("<option value="+i+" selected>"+i+"</option>"); }else{ document.write("<option value="+i+">"+i+"</option>"); }} document.write("</select>"); document.write(" 分 "); </script><br><font size="1"></font></td> </tr> <tr>

    • ベストアンサー
    • HTML
  • リストメニューに反映させる内容

    list.dat 内 $list1,$list2,$list3,$list4,$list5,$name1,$name2,$name3,$name4,$name5, print "<select name=list>\n"; print "<option value="0">未選択</option>\n"; print "<option value="1">$name1</option>\n"; print "<option value="2">$name2</option>\n"; print "<option value="3">$name3</option>\n"; print "<option value="2">$name4</option>\n"; print "<option value="3">$name5</option>\n"; print "</select>\n"; list.dat内のデータをselectメニューに反映させたいのですが、自分の頭ではかなり難しい事のようで、行き詰ってしまいました。 質問の仕方が下手で、どのように書いていいのかわからないのですが、やりたいことは、 $list1の名前が$name1 $list2の名前が$name2 というように、$listと$nameに付けられた数値番号が同一のものがセットになります。 この両方の変数にデーターが入っている場合のみ、セレクトメニューに反映させます。 例えばlist.dat内が $list1,,$list3,,$list5,$name1,$name2,$name3,$name4,, のような場合は、 print "<select name=list>\n"; print "<option value="0">未選択</option>\n"; print "<option value="1">$name1</option>\n"; print "<option value="3">$name3</option>\n"; print "</select>\n"; このようになります。 上のような作りは無理でしょうか? お力をおかし頂けると幸いです。

    • ベストアンサー
    • Perl
  • SELECT結果から動的にコンボボックスを作りたい

    SELECT結果から動的にコンボボックスを作りたい SELECT結果を元に、コンボボックスを作りたいと思っています。 テーブル「bunsyo_tbl」から、3行の結果を受け取った時、 3回だけ回るループの中で動的にhtmlを作成し、コンボの行数を増やす、 といった事を実現させたいのですが、ループ内でhtmlを作成する部分が上手く行きません。 ご教授頂きたく質問いたします。 当方の環境はOSはWinXP SP3、 ?Apache 2.0.63 ?PHP 5.2.6 ?Mysql 5.0.51b です。 テーブル「bunsyo_tbl」の内容は bunsyo_id | bunsyo_name | maker 2345 | 鋼材購入明細 | 1 3322 | 耐圧試験結果 | 1 3442 | 腐食箇所リスト| 1 PHPとhtmlのソースは最後に書きます。(長いので) 目的は、PHP変数$temphtml の中身を、 <option value="2345">鋼材購入明細 </option> <option value="3322">耐圧試験結果 </option> <option value="3442">腐食箇所リスト</option> と、して、html文の中で<? $temphtml ?>で呼びコンボの行数を増やす事です。 WAMPに触れ2週間が経つ初心者です。 本質問前に十分に調べ、確認したつもりではいますが、 的外れな質問や、意味の通らない文章になっていましたらすいません。 よろしくお願いします。 -------------------- <?php (接続部省略) require_once("connect_db.php"); // select実行 $sql = "SELECT bunsyo_id,bunsyo_name FROM bunsyo_tbl WHERE maker = 1" ; $result = executeQuery($sql); //結果セットの行数を取得する。 $rows = mysql_num_rows($result); //コンボボックスの不定部分のhtml作成 if($rows2){ while($row = mysql_fetch_array($result)) { print($row['bunsyo_id']); print($row['bunsyo_name']); $temphtml .= "<option value=" .$row["bunsyo_id"]. ">" .$row["bunsyo_name"]. "</option>"; print($temphtml); } $msg = $rows."件のデータがあります。"; }else{ $msg = "レコード0件"; } ?> <!--コンボボックス作成。初期は空白選択--> <select name="doc_comb" size="1"> <option value="" selected="selected"></option>     <? $temphtml ?> </select>

    • ベストアンサー
    • PHP
  • 2つのコンボボックスの連携

    以前このカテゴリで「一方のコンボボックスの選択によりもう一方のコンボボックスの項目を絞り込む」スクリプトを拝見させていただいたのですが、次のとおり作成すると「な行」を選択すると「え」と「な」が選択項目として現れてしまいます。 どこかおかしいところがあるのでしょうがさっぱりわかりません。どなたか教えてください。よろしくお願いします。 ------------------------------------------------ <html> <head> <title>OK WEB</title> <script type="text/javascript"> <!-- txt = {}; txt["1"] = new Array("あ","い","う","え","お"); txt["2"] = new Array("か","き","く","け","こ"); txt["3"] = new Array("さ","し","す","せ","そ"); txt["4"] = new Array("た","ち","つ","て","と"); txt["5"] = new Array("な"); function initMenu(){ var i; for (i=0; i<txt["1"].length; i++){ document.FORM1.MENUB.options[i] = new Option(txt["1"][i],txt["1"][i]); } } function setSubMenu(area){ var i; for (i=0; i<document.FORM1.MENUB.length; i++){ document.FORM1.MENUB.options[i] = null; } for (i=0; i<txt[area].length; i++){ document.FORM1.MENUB.options[i] = new Option(txt[area][i],txt[area][i]); } } // --> </script> </head> <body onload="initMenu()"> <form name="FORM1"> <select name="MENUA" onchange="setSubMenu(this.value)"> <OPTION VALUE="1">あ行 <OPTION VALUE="2">か行 <OPTION VALUE="3">さ行 <OPTION VALUE="4">た行 <OPTION VALUE="5">な行 </select> <br> <select name="MENUB" > <OPTION VALUE="あ">-- </select> </form> </body> </html>

  • わかりません・・・

    <select name="hour"> <option value="" selected>-- <?php for($i=0;$i<24;$i++){      if(strlen($i) == 1){        if($hour == $i){ ?>          <option value="'0'.<?=$i?>" selected>0<?=$i?> <?php     }else{  ?>          <option value="'0'.<?=$i?>">0<?=$i?> <?php     }        }else{        if($hour == $i){   ?>          <option value="<?=$i?>" selected><?=$i?> <?php     }else{   ?>          <option value="<?=$i?>"><?=$i?> <?php     }       }     }  ?> </select>時 ------------------------------------------------------- 上記のようなスクリプトを作成しました。 リストボックスの時間について、 一桁なら0を付加(1→01)しています。 今、変数$hourに(00~23)までの値が入っていれば、 リストボックスには、$hourの値を等しいものを表示、 $hourに値が入っていなければ、デフォルト表示の”--”を 表示したいと考えています。 上記のスクリプトを動かしてみると、 $hourに値があるときは正常に動作します(リストボックスの値を $hourの値と等しいものを表示)が、 $hourに値がないときになぜか”00”を表示してしまいます。 本当は”--”を表示したいのですが・・・ なにかおかしいですか?

    • ベストアンサー
    • PHP
  • PHPカレンダーについて

    今カレンダーを作成している段階です。 http://w1.nirai.ne.jp/freeze/main/file11.html ↑このサイトのプログラムを参考にしているんですが、 <html> <head> <title>カレンダー</title> </head> <body> <form action="<?php echo $_SERVER["PHP_SELF"]?>" method="POST"> <select name="year"> <?php $cnt = 1970; while($cnt<2038){   if($cnt==date(Y)){   echo "<option value='$cnt' selected>$cnt</option>";   } else {  echo "<option value='$cnt'>$cnt</option>";  } $cnt++; } ?> </select> <select name="month"> <?php $cnt=1; while($cnt<13){   if($cnt == date(n)){   echo "<option value='$cnt' selected>$cnt</option>";   } else {   echo "<option value='$cnt'>$cnt</option>";   } $cnt++; } ?> </select> <input type="submit" value="作成!"> </form> </body> </html> このPHPプログラムを実行してもエラーが消えません。 どこが間違っているのかどなたか教えてください。

    • 締切済み
    • PHP