Home > web

web Archive

[php]phpExcelでDB内容を一覧表示する系の処理。

  • 2007-12-10 (月)
  • web

phpExcel
http://www.phpexcel.net/

phpExcelでphp+MySQLからとってきたデータを一行ずつ表にしていくようなときに 

$objPHPExcel->getActiveSheet()->setCellValue(’A’.$cnt, $data[$key][’data1′]);

みたいなことをする場面が多々あるんですが、これを

$objPHPExcel->getActiveSheet()->setCellValue(’A’.$cnt+$i*60, $data[$key][’data1′]);

データのカテゴリが分かれる度にページ分けして、60行後の次ページに飛んでそこから続き、みたいなことをする際に行数を計算で出したい というような需要はあるかと思うんですが
このsetCellValue(だけじゃなくて全てかもしれない)内ではどうも計算はできない様子。変数の型の問題でしょうか。

仕方がないので予め

$colcount = $i*40 + $cnt;
$objPHPExcel->getActiveSheet()->setCellValue(’A’.$colcount, $data[$key][’data1′]);

とするしかないようです。

ちょっとハマった

Popularity: 46% [?]

[php][mysql]「ほ」と「ぽ」とSUBSTRINGの謎。

  • 2007-12-06 (木)
  • web

SQL内で

WHERE SUBSTRING(name,1,1) = ‘ほ’

みたいに書いていて今まで上手くいっていたものをphp側で処理させようとして、

if(substr($name,0,1)==’ほ’){
}

としたのですが、どうも「ぽ」が入らなくなっていた様子。
というより今まで「ぽ」がSQL版の方でヒットしていたことを疑問に思わなかった自分がすごい。
というわけでひとまず $name == ‘ほ’ || $name == ‘ぽ’ || $name==’ぼ’ とするしかないようなのですがこれってどういう仕組みなんですかね。
結局いろいろ実験してみたけど

WHERE SUBSTRING(name,1,1) = ‘ほ’

でも

WHERE name like ‘ほ%’

でも同じ。それぞれ「ほ」を「ぽ」「ぼ」にしても同じ。
ということはSUBSTRINGの問題ではなくてそもそもMySQL内では同じコードとして扱われているということ? 
UTF-8の文字コードでも

E381BB ほ
E381BC ぼ
E381BD ぽ

とはっきりと違うのでなにがなにやら。

現段階では今後気をつけようとしかいえません。
なんだろーなーこれ

15:06追記>>
どうもMySQLだとカタカナもいっしょくたに含む様子

WHERE SUBSTRING(name,1,1) = ‘こ’

ってしたら「コ」もヒットした
どうなってんだー

Popularity: 31% [?]

PHPExcel使ってみた。

  • 2007-10-29 (月)
  • web

http://www.phppro.jp/news/331

ふつうにこんなかんじで変数セットしたり計算式入れたりはいいんですが
$objPHPExcel->getActiveSheet()->setCellValue('B1', $data);
$objPHPExcel->getActiveSheet()->setCellValue('B8', '=SUM(B6:B7)');

こんなかんじで線を引いたりセンタリングしたり
$objPHPExcel->getActiveSheet()->duplicateStyleArray(
array(
'alignment' => array(
'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
'vertical' => PHPExcel_Style_Alignment::VERTICAL_CENTER,
),
'borders' => array(
'top' => array(
'style' => PHPExcel_Style_Border::BORDER_MEDIUM
),
'left' => array(
'style' => PHPExcel_Style_Border::BORDER_MEDIUM
),
'right' => array(
'style' => PHPExcel_Style_Border::BORDER_MEDIUM
),
'bottom' => array(
'style' => PHPExcel_Style_Border::BORDER_MEDIUM
)
),
),
'A3:I8'
);


色塗ったり
$objPHPExcel->getActiveSheet()->duplicateStyleArray(
array(
'fill' => array(
'type' => PHPExcel_Style_Fill::FILL_SOLID,
'color' => array(
'argb' => 'FFDDDDDD'
),
),
),
'A4:I5'
);

ただ正しいファイル保存のしかたがわからない
サーバに生成するんじゃなくでダイアログが出て来るタイプの

いまはPHPのHeaderをExcelファイルにしてむりくりダウンロードしてるけどこれでいいのやら

もうちょっとしらべます

Popularity: 100% [?]

外部からwgetしてphp経由でmount。

  • 2007-06-17 (日)
  • web

やりたいことが複雑怪奇で情報が少ない!
少なくともmount は基本 root しか使えないらしい!
いくつか情報はあったけど
ネットワーク上のNAS をroot以外でmount する情報はのってない!

てなわけで


# /usr/sbin/visudo

として apacheのユーザにsudoを開放して


<?php
exec('sudo mount (NASのIP:ディレクトリ) (マウントポイント)');
?>

とかした。

本当にこれでいいのかー

Popularity: 23% [?]

ぐるなびAPIでGPS情報使ってみました。

  • 2007-05-16 (水)
  • web

結論から入ると

「そばなび!」
logo
sobanavi

です。

先週あたりぐるなび情報を使えるAPIが公開されていましたので
それを使って早速WebServiceの制作。

ひとまず自分専用サービスということで
昼ごはん時に蕎麦屋を探さなくて済むサービスです。

・携帯のGPS情報からワンタッチで近場の蕎麦屋表示

こんだけ。

苦労したのはやはし測地系の変換とか計算とか。
このあたりを参考にしました
「教えてgoo 緯度、経度の 10進法と 60進法の変換方法について」

次作るときのためにPHPの変換モジュール作ったので書いておきます

/**
* GPS情報変換
* [***.**.**.***] → [***.*****] 形式へ変換する
*/
function convert_gpsdata($get_lat,$get_lon){
$aryla = explode(’.',$get_lat);
$arylo = explode(’.',$get_lon);

//lat変換
$la = intval($aryla[0]) + ((($aryla[1] / 60 + ($aryla[2].’.’.$aryla[3]) / 3600)));
$lo = intval($arylo[0]) + ((($arylo[1] / 60 + ($arylo[2].’.’.$arylo[3]) / 3600)));

//変換
$lat = $la + 0.00010696 * $la - 0.000017467 * $lo - 0.0046020;
$lon = $lo + 0.000046047 * $la + 0.000083049 * $lo - 0.010041;

return array($lat,$lon);
}

$get_lat が緯度で $get_lon が経度になります。
これでAUとDocomoは共通でいけるはず

さぁ万国の蕎麦好きよ来たれ

結果としてうちの会社の周辺2kmに
ぐるなび登録の蕎麦屋が一軒もないことが判明しましたが

関西の蕎麦101軒―美味しい店

Popularity: 21% [?]

  • Newer Entries
  • Home > web

    Search
    Feeds
    Meta

    Pages (5): « 1 2 [3] 4 5 »

    Page Top