GuitarOshouのプロフィール
- ベストアンサー数
- 7
- ベストアンサー率
- 100%
- お礼率
- 0%
- 登録日2010/07/02
- [PHP]csvファイルを生成するときのマックの改行対応の方法について
[PHP]csvファイルを生成するときのマックの改行対応の方法について 現在、phpでcsvファイルを出力しているのですが、Windowsだと旨く改行が反映されるのですが、Macだと旨く行きません。。。 改行は「\n」を使っていましたが、マックの改行コードが「\r」との事なので、「\n\r」としたのですが、旨く反映されないようです。。。 途中は省きますが $csvData .= "A列" . "," . "B列" . "\n\r"; $csvData .= "a" . "," . "b" . "\n\r"; $csvData .= "c" . "," . "d" . "\n\r"; として、マックでオープンオフィスを使用して開くと、 A列,B列a,bc,d と1行で出て来てしまします。 よろしくお願いします。
- 「テキストテキスト」という文字を「テキストテキ・・・」としたい場合、
「テキストテキスト」という文字を「テキストテキ・・・」としたい場合、 mb_substr関数を使うと思います。 しかし、納品するサーバでmb関数が使えず困ってしまいました。 当然substr関数では最後で文字化けしてしまいますが、 何とかmb関数系を使わずにクリアすることはできないでしょうか? 納品先はちょっとでかめの会社で、外部公開されていないサーバで、しかもWindows。。 もちろんmb関数を使えるようにお客に頼むのが一番簡単なのは分かっていますが、 先方担当含め調整が面倒なので、プログラムで対応できないか模索しています。 substrを使わないトリッキーな手法はないですかね? バイト数取得をして無理やり文字化けしないようにするなど・・ $volm = strlen(bin2hex($data)) / 2; (参考:http://zombiebook.seesaa.net/article/33192046.html) お知恵をお貸しください。
- PHP開発「バナーをランダムに表示させる」
PHP開発「バナーをランダムに表示させる」 (1)random.php <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> <title>バナーをランダムに表示</title> </head> <body> <?php require_once("follow.php") ?> </body> </html> (2)random.ini [info] count=4 width=221 height=46 [data] url1=http://px.xframework.net/ image1=banner01.jpg alt1=セミナー情報 weight1=50 url2=http://px.xframework.net/ image2=banner02.jpg alt2=セミナー情報-禁止 weight2=20 url3=http://px.xframework.net/ image3=banner03.jpg alt3=開発事例 weight3=15 url4=http://px.xframework.net/ image4=banner04.jpg alt4=開発事例-禁止 weight4=15 (3)follow.php <?php mt_srand((double)microtime()*100000); $random = mt_rand(1,100); $count = 0; $arrayini = parse_ini_file("random.ini",TRUE); for($i =1; $i<=$arrayini['info']['count']; $i++) { if($random > $count && $random <= $count+$arrayini['data']['weight'.$i]) { echo("<a href='".$arrayini['data']['url'.$i]."'> <img border='0' src='".$arrayini['data']['image'.$i]."' width='".$arrayini['info']['width']."' height='".$arrayini['info']['height']."' alt='".$arrayini['data']['alt'.$i]."' /> </a>"); } $count+=$arrayini['data']['weight'.$i]; } ?> 実行すると 「Warning: Error parsing random.ini on line 9 in C:\Apache Software Foundation\Apache2.2\htdocs\test.php\follow.php on line 9」 エラーが表示されます。 原因は何なのでしょうか? Windows Vistaです。
- ベストアンサー
- PHP
- judgementskill
- 回答数1
- IIS5.1です。PHPをブラウザで開くと文字コードがSJISになる。
IIS5.1です。PHPをブラウザで開くと文字コードがSJISになる。 WindowsXPのIISをWEBサーバとして利用しております。 http://localhost/test.phpを開いた際、必ず文字コードがSJISとなります。 そのページのメタタグには間違いなくキャラクタセットをEUCにする指定がされています。 そこでブラウザの機能で、エンコードをEUCに変更すると正常に表示されますが、 ページ移動するとまたSJISとなり、同じくエンコードを変更しなければなりません。 IISの設定かとは思うのですが、解決方法が見つかりません。 お教えいただけると助かります。よろしくお願いいたします。
- ベストアンサー
- PHP
- dragstarsp
- 回答数2
- MySQLからPHPでデータを抽出し、重複データをまとめつつ、別のカラ
MySQLからPHPでデータを抽出し、重複データをまとめつつ、別のカラムを件数カウント表示し、さらに別のページへリンクしてデータを移動・表示したいです。 いつも利用させていただており、参考にさせていただいております。 さて、40の手習いということで、今更ながらPHPとMySQLを使ってwebページの構築なぞ始めて1週間になります。 そこで、かなり手詰まってしまって、思い切って質問をさせていただきました。 まずは、私の開発環境ですが ・PHP Version 5.2.11 ・MySQL (5.0) そこでやりたいことです。 TABLE `clinic` ID,name,erea,chiiki,genre,tel 1,A店,新宿区,歌舞伎町,歯科医院,03-1234-5678 2,B店,新宿区,歌舞伎町,内科,03-1111-2222 3,C店,新宿区,歌舞伎町,内科,03-3333-4444 4,D店,新宿区,大久保,歯科医院,03-5555-6666 5,E店,新宿区,落合,歯科医院,03-7777-8888 5,F店,港区,赤坂,歯科医院,03-9876-5432 ・ ・ ・ 上記のようなデータがDBに格納されており index.htmlより ■<a href="index.php?val=shin">新宿区</a> 歌舞伎町/大久保/落合 ■<a href="index.php?val=minato">港区</a> 六本木/新橋/赤坂/西麻布/その他 このようなリンクから新宿区をクリックすると index.phpにて <新宿区の診療内容別一覧> ---------------------------- ■歌舞伎町 └<a href="index.php?val=???">内科</a>(2)//この数字は件数です └歯科医院(1) ■大久保 └歯科医院(1) ■落合 └歯科医院(1) のように表示し、さらに例えば内科をクリックすると result.phpにて B店 └03-1111-2222 C店 └03-3333-4444 と表示したいのです。 index.phpで、 $url = "localhost"; $user = "clinic"; $pass = "admin"; $db = "clinic"; // MySQLへ接続する $link = mysql_connect($url,$user,$pass) or die("MySQLへの接続に失敗しました。"); // データベースを選択する $sdb = mysql_select_db($db,$link) or die("データベースの選択に失敗しました。"); if($_GET['val'] == 'shin'){$erea = "新宿区";} if($_GET['val'] == 'minato'){$erea = "港区";} if($erea !== '') { $erea_sql = 'EREA LIKE '."'%".$erea."%'"; } else { $tempHtml = "エリア選択が不正です"; } $sql = " SELECT * FROM `clinic` WHERE {$erea_sql} "; $result = mysql_query( $sql ); //結果セットの行数を取得する $rows = mysql_num_rows($result); //表示するデータを作成 if($rows){ while($row = mysql_fetch_array($result)) { ここが全く想像すらつきません・・・(汗) } }else{ $tempHtml = "データがありません"; } //結果保持用メモリを開放する mysql_free_result($result); // MySQLへの接続を閉じる mysql_close($link) or die("MySQL切断に失敗しました。"); データの総数は、東京都内のみで1000件程度あります。 ここから先へ進むには、どこを勉強すれば良いのかすら浮かばず 非常に困っております。 ヒントでも、このページを見ろ!でも結構ですので、 何卒ご教授のほど、よろしくお願い致します。