• ベストアンサー

php 全角文字で改行される

宜しくお願いします。 phpで作ったカレンダーで、 tableのtdの中に、 <?php print $year ; ?>年<?php print $month ; ?>月 を入れて、2009年12月8日と表示しているのですが、 IE6とIE7だけ、全角文字部分で改行されてしまいます。 2009 月 8 日 このような感じです。 全角英字も大丈夫でした。 だめなのは、数字だけです。 どうゆうことでしょうか? どなたか、何卒お願い致します。

  • smiab
  • お礼率50% (10/20)
  • PHP
  • 回答数5
  • ありがとう数5

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

  • ベストアンサー
  • junkUser
  • ベストアンサー率56% (218/384)
回答No.5

原因がわかりました。 css の "#calender td" の影響により、"#yearmonthtd" の設定が完全に無効化されています。 対処方法としては簡単で、"#calender td" の width の行を削除します。 一応、IE8, Firefox でも確認して問題ありませんでしたので、他のブラウザでも問題無いはずです。 IE6めっ!

smiab
質問者

お礼

すごいです。 おかげさまで助かりました。 本当にご丁寧にありがとうございました。

その他の回答 (4)

  • junkUser
  • ベストアンサー率56% (218/384)
回答No.4

実際に動作させてみました。 前提として ・table が閉じられてない部分は閉じた ・<< >> は &lt;&lt; &gt;&gt; へ変更 ・変数には数値を適当に入れた ・全角空白は半角空白へ変更 開示してもらった分を確認した限りでは全く問題ありませんねぇ。 あとは、$year と $month が実際は数値ではなく、"2009<br>" などになっている可能性と、$cal の部分が HTML として正しくないといったくらいでしょうか。 実行結果の HTML ソースも開示いただけたら原因がつかめると思います。

smiab
質問者

補足

本当にありがとうございます。 IE6での画面ソースです。 お願い致します。 <table summary="indexページのデザインに使用" border="2" id="calender" cellpadding="0" cellspacing="0"> <tr> <td colspan="7" id="yearmonthtd">2009年12月</td> </tr> <tr> <td id="calendernichi">日</td> <td class="calenderyoubi">月</td> <td class="calenderyoubi">火</td> <td class="calenderyoubi">水</td> <td class="calenderyoubi">木</td> <td class="calenderyoubi">金</td> <td id="calenderdo">土</td> </tr> <tr><td class="kara"></td><td class="kara"></td><td class="calenderweekday">01</td><td class="calenderweekday">02</td><td class="calenderweekday">03</td><td class="calenderweekday">04</td><td class="calendersatsun">05</td></tr> <tr><td class="calendersatsun">06</td><td class="calenderweekday">07</td><td class="calenderweekday">08</td><td class="calenderweekday">09</td><td class="calenderweekday">10</td><td class="calenderweekday">11</td><td id="calendersatsuntoday">12</td></tr> <tr><td class="calendersatsun">13</td><td class="calenderweekday">14</td><td class="calenderweekday">15</td><td class="calenderweekday">16</td><td class="calenderweekday">17</td><td class="calenderweekday">18</td><td class="calendersatsun">19</td></tr> <tr><td class="calendersatsun">20</td><td class="calenderweekday">21</td><td class="calenderweekday">22</td><td class="calendersatsun">23</td><td class="calenderweekday">24</td><td class="calenderweekday">25</td><td class="calendersatsun">26</td></tr> <tr><td class="calendersatsun">27</td><td class="calenderweekday">28</td><td class="calenderweekday">29</td><td class="calenderweekday">30</td><td class="calenderweekday">31</td><td class="kara"></td><td class="kara"></td></tr> </table> </table> <table summary="indexページのデザインに使用" id="eigyoubitable" cellpadding="0" cellspacing="0" border="0"> <tr> <td id="kyoutd"></td> <td>今日</td> <td id="eigyoubitd2"></td> <td>休業日</td> </tr> </table> <table summary="indexページのデザインに使用" id="calender3" cellpadding="0" cellspacing="0" border="0"> <tr valign="bottom"> <td id="calender3td1"><a href=http://mail.yahoo.co.jp/config/login?/"index2.php?year=2009&amp;month=11#calender">&lt;&lt;前月</a></td> <td id="calender3td"><a href=http://mail.yahoo.co.jp/config/login?/"index2.php?year=2010&amp;month=1#calender">翌月&gt;&gt;</a></td> </tr> </table>

  • junkUser
  • ベストアンサー率56% (218/384)
回答No.3

css の中に td で width が指定されていませんか? もしくは、table の横幅を修正しない指定(名称失念)があるのではないでしょうか。 とりあえず、table の部分のソースと該当する css を可能であれば開示してください。

smiab
質問者

お礼

css部分 /*カレンダーの営業日と休業日の色の凡例*/ #eigyoubitable { position: relative; height: 15px; width: 180px; color: #000000; margin: 5px 0px 0px 13px; padding: 0; } #kyoutd { width: 13px; background-color: #ffccff; margin: 0; padding: 0; } #yearmonthtd { width: 180px; margin: 0; padding: 0; } /*カレンダー*/ #calender { position: relative; border-collapse: collapse; border-color: #cccccc; width: 180px; color: #696969; margin: 20px 0px 0px 0px; padding: 0; } /*カレンダーのテーブルのセル*/ #calender td { border-color: #cccccc; vertical-align: middle; text-align: center; width: 22px; height: 24px; margin: 0; padding: 0; } /*カレンダーの土日今日*/ #calendersatsuntoday { text-decoration: none; color: #000000; background-color: #ffccff; font-size: 16px; line-height: 24px; margin: 0; padding: 0; } /*カレンダーの土日*/ .calendersatsun { text-decoration: none; color: #232323; background-color: #ffcc99; font-size: 16px; line-height: 24px; margin: 0; padding: 0; } /*カレンダーの平日今日*/ #calenderweekdaytoday { text-decoration: none; color: #000000; background-color: #ffccff; font-size: 16px; line-height: 24px; margin: 0; padding: 0; }

smiab
質問者

補足

お返事ありがとうございます。 html,cssのせますので、宜しくお願い致します。 html部分 <table border="2" id="calender" cellpadding="0" cellspacing="0">  <tr>   <td colspan="7" id="yearmonthtd"><?php print $year ; ?>年<?php print $month ; ?>月</td>  </tr>  <?php print $cal;?> <table id="eigyoubitable" cellpadding="0" cellspacing="0" border="0">  <tr>   <td id="kyoutd"></td>   <td>今日</td>   <td id="eigyoubitd2"></td>   <td>休業日</td>  </tr> </table> <table id="calender3" cellpadding="0" cellspacing="0" border="0">  <tr valign="bottom">   <td id="calender3td1"><a href="index2.php?year=<?php print $prevyear ; ?>&month=<?php print $prev ; ?>#calender"><<前月</a></td>   <td id="calender3td"><a href="index2.php?year=<?php print $nextyear ; ?>&month=<?php print $next ; ?>#calender">翌月>></a></td>  </tr> </table>

  • junkUser
  • ベストアンサー率56% (218/384)
回答No.2

td の横幅が狭すぎるか、指定されていないのではないでしょうか。

smiab
質問者

お礼

文字数オーバーしてしまったので、分けました。 見にくくて申し訳ございません。 /*カレンダーの平日*/ .calenderweekday { text-decoration: none; color: #232323; background-color: #ffffff; font-size: 16px; line-height: 24px; margin: 0; padding: 0; } /*カレンダーの土日以外の曜日部分*/ .calenderyoubi { font-family: HG平成角ゴシック体W5; color: #696969; background-color: #C7D8ED; text-align: center; vertical-align: middle; font-size: 15px; line-height: 20px; margin: 0; padding: 0; } /*カレンダーの土曜日*/ #calenderdo { font-family: HG平成角ゴシック体W5; color: #ffffff; background-color: #A6C0E1; text-align: center; vertical-align: middle; font-size: 15px; line-height: 20px; margin: 0; padding: 0; } /*カレンダーの日曜日*/ #calendernichi { font-family: HG平成角ゴシック体W5; color: #ffffff; background-color: #ff3300; text-align: center; vertical-align: middle; font-size: 15px; line-height: 21px; margin: 0; padding: 0; } /*カレンダーの日にちがない部分*/ #kara { background-color: #ffffff; margin: 0; padding: 0; } /*「営業日」と「休業日」のセル*/ #eigyoubitable td { height: 15px; font-size: 13px; line-height: 15px; padding-left: 3px; margin: 0; padding: 0; } /*休業日の色*/ #eigyoubitd2 { width: 13px; background-color: #ffcc99; margin: 0; padding: 0; } /*カレンダー前翌月のリンクテーブル*/ #calender3 { position: relative; font-size: 10px; width: 164px; height: 14px; line-height: 14px; margin: 5px 0px 0px 5px; padding: 0; } /*カレンダー前月*/ #calender3td1 { padding-left: 0px; margin: 0; } /*カレンダー翌月のリンク*/ #calender3 a { text-decoration: none; color: #3d3d3d; margin: 0; padding: 0; } /*カレンダー翌月のリンク*/ #calender3td { width: 70px; margin: 0; padding: 0; }

smiab
質問者

補足

遅くなってしまい申し訳ございません。 tdにwidthを指定してみても、だめでした。 どうでしょうか?

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

ブラウザでHTMLソースを見て改行が入っていますか? そうでなければcssで所定のtdにwhite-space:nowrap を指定見てください

smiab
質問者

補足

遅くなってしまい申し訳ございません。 HTMLソースを見ても改行は入っていませんでした。 tdにwhite-space:nowrapを追加してみたのですが、だめでした。 どうでしょうか?

関連するQ&A

  • PHPによるカレンダーについて

    PHPでカレンダーを作成しています。 プルダウンで年月を指定し、更新ボタンを押せば、指定した年月のカレンダーを表示させたいのですが、うまくいきません。 更新ボタンを押してもカレンダーが変わらないです。 KOMOカレンダーというサイトを参考にして、文字コードを変えただけです。 教えてくださる方がいらっしゃいましたら宜しくお願いいたします。 <?php $last_year = 2037; $wday_color = "#000000"; $sat_color = "#0000ff"; $sun_color = "#ff0000"; $reg_color = "#ffccff"; $year = (!isset($year)) ? date("Y") : $year; $month = (!isset($month)) ? date("n") : $month; ?> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE>カレンダー</TITLE> </HEAD> <BODY> <P><FONT SIZE="6" COLOR="#006600">カレンダー</FONT></P> <P> <TABLE BORDER="1"CELLSPACING="1" CELLPADDING="1"> <TR> <TD COLSPAN="7"> <SELECT NAME="year"> <?php for($i = 2002; $i <= $last_year; $i++){ echo "<option value=".$i.(($i == $year) ? ' selected':'').">".$i."年\n"; } ?> </SELECT> <SELECT NAME="month"> <?php for($i = 1; $i <= 12; $i++){ echo "<option value=" . $i . (($i == $month) ? ' selected':'').">".$i."月\n"; } ?> </SELECT> <INPUT TYPE="SUBMIT" NAME="Submit" VALUE="更新"></TD> </TR> <TR> <TD> <P ALIGN="CENTER"><FONT COLOR="red">日</FONT> </TD> <TD> <P ALIGN="CENTER">月 </TD> <TD> <P ALIGN="CENTER">火 </TD> <TD> <P ALIGN="CENTER">水 </TD> <TD> <P ALIGN="CENTER">木 </TD> <TD> <P ALIGN="CENTER">金 </TD> <TD> <P ALIGN="CENTER"><FONT COLOR="blue">土</FONT> </TD> </TR> <?php $time = mktime(0, 0, 0, $month, 1, $year); $day_of_first = date("w", $time); $date_of_month = date("t", $time); $week_of_month = ceil($date_of_month / 7); if(($date_of_month % 7 > 7 - $day_of_first) || ($date_of_month % 7 == 0 && $day_of_first != 0)){ $week_of_month++; } for($i = 1; $i <= $week_of_month * 7; $i++){ if($i % 7 == 1){ echo "<tr>"; } if(($i - 1 < $day_of_first) || ($i > $date_of_month + $day_of_first)){ echo "<td>&nbsp;</td>"; }else{ if($i % 7 == 1){ $color = $sun_color; }elseif($i % 7 == 0){ $color = $sat_color; }else{ $color = $wday_color; } echo "<td width=30 height=30 align=right valign=top>"; echo "<font color=" . $color . ">"; echo $i - $day_of_first; echo "</font></td>"; } if($i % 7 == 0){ echo "</tr>\n"; } } ?> </TABLE> </FORM> </BODY> </HTML>

    • ベストアンサー
    • PHP
  • 該当日のスケジュール内容を別ウィンドウで表示したいのですが…。

    初めて質問させて頂きます。 プログラム初心者です。 今、課題でカレンダー作成(予定を表示させる)をしています。 現在の時点でカレンダーの指定日(予定のある日)にリンクをつけるところまでは出来たのですが、リンク先に移動した際に該当日の予定を表示させるのが出来なくて困っています。 (予定はCSVファイルからuploadしています。) どなたかお力を貸して頂けませんでしょうか??…orz。 宜しくお願いします。 ソースはこちらです。 …読みにくくてすみません(泣 <html> <head> <meta http-tquiv="Content-Type" content="text/html;charset=EUC-JP"> <title>カレンダー</title> </head> <form name="skl" method="post" action="yotei.php"> <body> <?php  $year = date("Y");  $month = date("n");  $day = date("j");  $year2=$_GET["year"];  $month2=$_GET["month"];  $day2=$_GET["day"]; //先月、来月をクリックした場合の処理  if($year2!="" || $month2!="" || $day2!="") {   if($year2!="") {    $year = $year2;   }   if($month2!="") {    $month = $month2;   }   if($day2!="") {    $day = $day2;   }else {    $day = 1;   }  } // カレンダー表示(先月の場合)  if($month==1) {   $year3 = $year-1;   $month3 = 12;  }else {   $year3 = $year;   $month3 = $month-1;  } // カレンダー表示(来月の場合)  if($month==12) {   $year4 = $year+1;   $month4 = 1;  }else {   $year4 = $year;   $month4 = $month+1;  } // テーブルの作成  print "<tableborder='1'><tr>";  print "<td width='250' align='center' bgcolor='yellowgreen' colspan='7'>";  print "<a href=\"?year=$year3&month=$month3\"><<</a>";  print " ".$year."年".$month."月のカレンダー ";  print "<a href=\"?year=$year4&month=$month4\">>></a></td></tr>";  print "<tr><td align='center' bgcolor='pink'>日</td>";  print "<td align='center' bgcolor='silver'>月</td>";  print "<td align='center' bgcolor='silver'>火</td>";  print "<td align='center' bgcolor='silver'>水</td>";  print "<td align='center' bgcolor='silver'>木</td>";  print "<td align='center' bgcolor='silver'>金</td>";  print "<td align='center' bgcolor='skyblue'>土</td></tr>";  $week = date(w,mktime(0,0,0,$month,1,$year));  for ($ix1 = 0 ; $ix1 < $week ; $ix1++) {   print "<td align='center'>-</td>";  } // ファイルの読み込み  $data = "date- data.CSV";  $file = fopen($data,"r");  while(!feof($file)){   $csv = fgets($file);   $csv = mb_convert_encoding($csv, "EUC-JP", "SHIFT-JIS"); //csvファイルを配列に格納   $str = explode(",", $csv);   for($day = 1 ; checkdate ($month,$day,$year) ; $day++) {    if($str[1] == "$year/$month/$day") {     $ymd[] = $str[1];    }   }  }  for($day = 1 ; checkdate ($month,$day,$year) ; $day++) {   print "<td align='center'";   if(($day+$week)%7 == 1 ) {    print "bgcolor='pink'><font color='red'>";   }else if(($day+$week)%7 == 0 ) {    print "bgcolor='skyblue'><font color='blue'>";   }else {    print "bgcolor='wheat'>";   }   for($i=0 ; $i<count($ymd) ; $i++) {    if($ymd[$i] == "$year/$month/$day") {     print "<a href=yotei.php>";    }   }   print "$day</td>";   if(($day+$week)%7 == 0 ) {    print "</tr>";   }  }  fclose($file);  $weekend = date(w,mktime(0,0,0,$month,$day,$year));  for ($ix2=0 ; $ix2<(7-$weekend) ; $ix2++) {   if ($weekend != 0) {    print "<td align='center'>-</td>";   }  }  print "</tr>";  print "</table>"; ?> <table border='0'> <tr> <td width="250"> <div align="center"> <input type="button" value="ファイル参照画面へ戻る" onClick="location.href='upload.php'" name="button"> </div> </td> </tr> </table> <br><br> </body> </form> </html>

    • 締切済み
    • PHP
  • PHP カレンダー

    php初心者です。HTMLにカレンダーのソースを、そのまま下記のHPから埋め込んだのですが、表示されません。なぜでしょうか? http://shanabrian.com/web/php_calendar.php --------------HTML <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>index</title> <link href="style.css" rel="stylesheet" type="text/css" /> </head> <body> <?php function calendar($year, $month) { //月末 $l_day = date("j", mktime(0, 0, 0, $month + 1, 0, $year)); //初期出力 $tmp = <<<EOM <table cellspacing="0" cellpadding="0" border="0" class="calendar"> <caption>{$year}年{$month}月</caption> <tr> <th class="red">日</th> <th>月</th> <th>火</th> <th>水</th> <th>木</th> <th>金</th> <th class="blue">土</th> </tr>\n EOM; //月末分繰り返す for ($i = 1; $i < $l_day + 1;$i++) { //曜日の取得 $week = date("w", mktime(0, 0, 0, $month, $i, $year)); //曜日が日曜日の場合 if ($week == 0) { $tmp .= " <tr>\n"; } //1日の場合 if ($i == 1) { $tmp .= str_repeat(" <td>&nbsp;</td>\n", $week); } if ($i == date("j") && $year == date("Y") && $month == date("n")) { //現在の日付の場合 $tmp .= " <td class=\"today\">{$i}</td>\n"; } else { //現在の日付ではない場合 $tmp .= " <td>{$i}</td>\n"; } //月末の場合 if ($i == $l_day) { $tmp .= str_repeat(" <td>&nbsp;</td>\n", 6 - $week); } //土曜日の場合 if($week == 6) { $tmp .= " </tr>\n"; } } $tmp .= "</table?>\n"; return $tmp; } ?> <?= calendar(date("Y"), date("n")) ?> </body> </html> ---------------------CSS table.calendar { border-collapse:collapse; border:1px #666 solid; text-align:center; font-size:12px; } table.calendar td, table.calendar th { padding:5px; border:1px #666 solid; } table.calendar th { background:#eee; } table.calendar td.today { background:#999; color:#fff; } table.calendar .red { color:#f33; } table.calendar .blue { color:#33f; }

    • ベストアンサー
    • PHP
  • PHP初心者です。

    PHP初心者です。カレンダースケジュールを作りたいのですが、以下について質問させていただきます。 selectボタンで2010~2020までのカレンダーを表示させることは出来たのですが、スケジュール欄にテキストボックスを作り、スケジュールを保存したいのですが、この部分でつまづいています。 PHPを勉強し始めて日が浅いのですが、宜しくお願い致します。 どなたかご教授下さい。 <html> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> <body> <form method="post" action="<? print($PHP_SELF); ?>"> <select name="year"> <? for($nen=2010 ; $nen<2020; $nen++){ $kotosi=date("Y"); if($kotosi==$nen){ print("<option value='".$nen."' selected>".$nen."</option>"); }else{ print("<option value='".$nen."'>".$nen."</option>"); } } ?> </select> 年 <select name="month"> <? for($tuki=1 ; $tuki<13; $tuki++){ $kongetu=date("n"); if($kongetu==$tuki){ print("<option value='".$tuki."' selected>".$tuki."</option>"); }else{ print("<option value='".$tuki."'>".$tuki."</option>"); } } ?> </select> 月 <input type="submit" value="表示"> </form> <table border> <tr><th>日付</th><th>曜日</th><th>スケジュール</th></tr> <? $year=$_POST["year"]; $month=$_POST["month"]; $wstr=array('日','月','火','水','木','金','土'); for($i=1;checkdate($month,$i,$year);$i++){ $t=mktime(0,0,0,$month,$i,$year); $w=date("w",$t); print("<tr><td>".$i."</td><td>".$wstr[$w]."</td><td><input type='text' size='30'><input type='submit' value='Buttom'></td></tr>"); } ?> </table> </body> </html>

    • ベストアンサー
    • PHP
  • 外部JavaScriptで書き出す文字がMozilla改行してくれない

    下記で書き出した文字列ですが、IEだと450pxで改行されるのに対して、Mozillaだと改行してくれません。 どうすれば改行してくれるのか、何がまずいのかご教授お願いします。 -----HTML <TABLE width='450' border='0' cellspacing='0' cellpadding='0' bgcolor='#FFE0B8'> <TR> <TD width='450'><SCRIPT LANGUAGE="JavaScript" src="sample.php"></SCRIPT> </TD> </TR> </TABLE> -----sample.php <?php //header("Content-type: text/html"); print "document.write(\"123456789012345678901234567890123456789012345678901234567890\")"; ?>

  • テーブル内の文字列を改行させたい

    <TABLE border="1"> <tr> <TD>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</TD> </tr> </TABLE> これを、ある一定の幅を指定して改行させたいのですが、 CSSを使おうが使わず指定しようが、反映されません。 全角文字だと反映されます。 IE6、IE7で対応させたいと思っています。 CSSでも何でも良いので、どうすれば対応出来るのか ご教示下さい。

    • ベストアンサー
    • HTML
  • PHPでカレンダー

    PHPを使ってカレンダーを作成しました。が、コードの意味が良く分かりません。 コードは以下の通りです。 <?php if($_GET['num']==''){ $today_year = date("Y"); //4桁の西暦年 $today_month = date("n"); //1~12の月 }else{ $timestamp = mktime(0,0,0,date("n")+$_GET['num'],date("d"),date("Y")); $today_year = date("Y",$timestamp); $today_month = date("n",$timestamp); //1~12月 } $current = mktime(0,0,0,$today_month,1,$today_year); $first_day = date("w",$current); //1日の曜日を0~6に当てはめる $last_day= date("t",$current); //月の日数 ?> <html> <head> <title>カンレンダー</title> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> </head> <body> <h1><?php print (date("Y年m月",$current)); ?>のカレンダー</h1> <table border="1" cellpadding="0" cellspacing="2"> <tr> <th>日</th><th>月</th><th>火</th><th>水</th><th>木</th><th>金</th><th>土</th> </tr> <?php for($i=1; $i<=$first_day+$last_day; $i++){ if($i%7==1){print ("<tr>");} if($i>$first_day){ print ("<td>".($i-$first_day)."</td>"); }else{ print ("<td>&nbsp;</td>"); } if($i%7==0){print ("</tr>");} } ?> </table> </body> </html> for以降の部分が良く分かりません。よろしくお願いします。※上記のスクリプトで正しく表示されることは確認済です。

    • 締切済み
    • PHP
  • GETを使わずにPOSTで送信…したいのですが。

    いつもお世話になっております。 また教えて欲しい事がありまして、投稿させて頂きました。 どなた様かご教授宜しくお願い致します。 今現在、GETを使ってのデータ送信は行える用にはなっているのですが、色々調べていった結果GET送信では様々な危険性(POST送信でも 危険性があるのは変わりないみたいですが…)が伴うという事 でしたので、どうにかPOST送信に変更したいと思っています。 今後、更なる重要なデータを送るようなプログラムを書いていく際に 役立てていけるようになればと思っています。 以下ソースです。 ↓↓↓↓ <html> <head> <meta http-tquiv="Content-Type" content="text/html;charset=EUC-JP"> <title>calendar</title> </head> <body> <form name="form1" action="yotei.php" method="post"> <?php  $year = date("Y");  $month = date("n");  $day = date("j");  $year2=$_GET["year"];  $month2=$_GET["month"];  $day2=$_GET["day"]; //先月、来月をクリックした場合の処理  if($year2!="" || $month2!="" || $day2!="") {   if($year2!="") {    $year = $year2;   }   if($month2!="") {    $month = $month2;   }   if($day2!="") {    $day = $day2;   }else {    $day = 1;   }  } // カレンダー表示(先月の場合)  if($month==1) {   $year3 = $year-1;   $month3 = 12;  }else {   $year3 = $year;   $month3 = $month-1;  } // カレンダー表示(来月の場合)  if($month==12) {   $year4 = $year+1;   $month4 = 1;  }else {   $year4 = $year;   $month4 = $month+1;  }  print "<table border='1' align='center'><tr>"; print "<td width='250' align='center' bgcolor='yellowgreen' colspan='7'>"; print "<a href=\"?year=$year3&month=$month3\"><</a>"; print " ".$year."年".$month."月のカレンダー "; print "<a href=\"?year=$year4&month=$month4\">></a></td></tr>"; print "<tr><td align='center' bgcolor='pink'>日</td>"; print "<td align='center' bgcolor='silver'>月</td>"; print "<td align='center' bgcolor='silver'>火</td>"; print "<td align='center' bgcolor='silver'>水</td>"; print "<td align='center' bgcolor='silver'>木</td>"; print "<td align='center' bgcolor='silver'>金</td>"; print "<td align='center' bgcolor='skyblue'>土</td></tr>"; $week = date(w,mktime(0,0,0,$month,1,$year)); for ($ix1 = 0 ; $ix1 < $week ; $ix1++) { print "<td align='center'>-</td>"; } // ファイルの読み込み $data = './data.CSV'; $file = fopen($data,"r"); while(!feof($file)){ $csv = fgets($file); $csv = mb_convert_encoding($csv, "EUC-JP", "SHIFT-JIS"); //csvファイルを配列に格納 $str = explode(",", $csv); for($day = 1 ; checkdate ($month,$day,$year) ; $day++) { if($str[1] == "$year/$month/$day") { $ymd[] = $str[1]; $all[] = "<br>予定=$str[0] <br>開始日=$str[1] <br>終了日=$str[2] <br>"; } } } if(($day+$week)%7 == 1 ) { print "bgcolor='pink'><font color='red'>"; }else if(($day+$week)%7 == 0 ) { print "bgcolor='skyblue'><font color='blue'>"; }else { print "bgcolor='wheat'>"; } $enc = ''; for($i=0 ; $i<count($ymd) ; $i++) { if($ymd[$i] == "$year/$month/$day") { $enc = $enc.urlencode($all[$i]); print "<a href=yotei.php?yotei=$enc>"; } } print "$day</a></td>"; if(($day+$week)%7 == 0 ) { print "</tr>"; } } fclose($file); $weekend = date(w,mktime(0,0,0,$month,$day,$year)); for ($ix2=0 ; $ix2<(7-$weekend) ; $ix2++) { if ($weekend != 0) { print "<td align='center'>-</td>"; } } print "</tr>"; print "</table>"; ?> <table border='0' align='center'> <tr> <td width="250"> <div align="center"> <input type="button" value="戻る" onClick="location.href='data.php'" name="button"> </div> </td> </tr> </table> <br><br> </form> </body> </html>

    • ベストアンサー
    • PHP
  • 全角英文がMacIE&Safariで自動改行されない

    お世話になります。 widthを指定(例えば200)しているテーブルの中に、全角英文の文章を、スペースを入れないで挿入するとMacのIE5とSafari上の表示で自動改行されません。 従って、テーブルが指定width以上に広がってしまい、レイアウトがくずれてしまいます。 例えば、以下の文字列ですです。 <script>document.write(document. delodelo)</script> 何か回避する方法は無いでしょうか。 ご存知の方、ご教授願います。 ※mac,ie,英文,英語,html,改行しない,改行されない,等を組み合わせて検索しましたが該当するものはありませんでした。 ※当該問題が発生しているページはphpで生成しているので、関数などのアイディアでもうれしいです。 【環境について】作成の環境はwindows、mac両方です。当ページは、phpを使っていて、動的に文章を挿入しています。

    • ベストアンサー
    • Mac
  • 0から始まる文字列を作りたい

    お世話になります。 個人でサイトを作ろうとしているのですが、 掲題の件がどうしても出来ず困っています。 具体的には、 ------------------------------- $year = '2009'; $month = '08'; $year2 = substr (($year),3,2); echo $year2 . "年". $month . "月"; ------------------------------- 上記の処理で今年の日付を 09年08月という表示をPHPを使って行いたいのですが、 9年08月と、どうしても頭の"0"が表示されないのです。 strvalなどは試したみたのですが、 上手くいかず・・・。 そもそも0から始まる数字を表示することは、 PHPでは出来ないのでしょうか? 宜しくおねがいします。

    • ベストアンサー
    • PHP

専門家に質問してみよう