1 名前:nobodyさん [2005/08/01(月) 21:27:12 ID:pG+mahP3] 落ちてたんで立てとく ■PEAR pear.php.net/ ■前スレ Pear pc8.2ch.net/test/read.cgi/php/985665522/
456 名前:nobodyさん mailto:sage [2006/06/11(日) 15:11:27 ID:???] >>453 すみませんでした。
457 名前:nobodyさん mailto:age [2006/06/12(月) 02:35:54 ID:???] HTML_Quick_Form_Controllerが何もうれしくない件について pear.php.net/manual/ja/package.html.html-quickform-controller.intro.php これ理解するくらいなら、自分でコントローラ作った方がマシじゃない? 使ってるやついたらHQFCのいいとこを教えてくれ。
458 名前:nobodyさん mailto:sage [2006/06/13(火) 00:45:56 ID:???] 世の中には自分で作れない馬鹿も存在するし(w
459 名前:nobodyさん mailto:sage [2006/06/13(火) 00:49:11 ID:???] コントローラを自分では作れないけど この小難しい HQFC を理解して使える……ってのも 馬鹿の程度がかなーり微妙だよな
460 名前:nobodyさん mailto:sage [2006/06/13(火) 02:26:47 ID:???] >>459 同感。 小難しい HQFC を理解して使える馬鹿の登場を待とうか。 なんて、あおってみたりするテスト
461 名前:nobodyさん mailto:sage [2006/06/13(火) 09:36:39 ID:???] PEARってなんて読むの
462 名前:nobodyさん mailto:sage [2006/06/13(火) 09:48:21 ID:???] ドンブリ
463 名前:nobodyさん mailto:sage [2006/06/13(火) 12:09:51 ID:???] >>462 嘘教えちゃだめでしょ >>461 クスコ
464 名前:nobodyさん mailto:sage [2006/06/13(火) 12:36:45 ID:???] >>461 サルスベリ
465 名前:nobodyさん mailto:sage [2006/06/13(火) 13:15:57 ID:???] Perl使いはPEARと書いてうんことよみます PHP使いはPEARと書いてピアーとよみます
466 名前:nobodyさん mailto:sage [2006/06/13(火) 15:37:05 ID:???] ピアーだとpeerだけどね。和製英語じゃ恥ずかしいよ。
467 名前:nobodyさん mailto:sage [2006/06/13(火) 16:31:37 ID:???] 洋ナシのことだから ペアーでいいんじゃない
468 名前:nobodyさん mailto:sage [2006/06/13(火) 16:33:31 ID:???] どんなオチが来るのかと思ったら、普通に言っちゃったね・・・
469 名前:nobodyさん mailto:sage [2006/06/13(火) 17:48:06 ID:???] 用無し
470 名前:nobodyさん mailto:sage [2006/06/13(火) 19:04:20 ID:???] 誰がうまいことを言えと
471 名前:nobodyさん mailto:sage [2006/06/14(水) 11:24:21 ID:???] ペアはpairだが。ここの住人は英語が使えないな。
472 名前:nobodyさん mailto:sage [2006/06/14(水) 12:05:34 ID:???] きのうの昼下がり、対向車とすれ違うのが難しい狭い道路でのできごと。 対向車と鉢合わせ(↓な感じ) _______/ ̄\____ ●→ ←●俺  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ _______/ ̄\____ ●→ ←●俺  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ _______/ ̄\____ ● ●俺  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ _______/ ̄\____ ● ●俺 | ( _●_) ミ _______/ ̄\____ / ● ● | | ( _●_) ミ ∩___∩ | ノ ヽ / ● ● | ベア──!! | ( _●_) ミ 彡、 |∪| 、`\ / __ ヽノ /´> )
473 名前:nobodyさん mailto:sage [2006/06/14(水) 16:59:31 ID:???] アイアムヒアー
474 名前:nobodyさん mailto:sage [2006/06/14(水) 19:17:59 ID:???] >>471 片仮名だとそれ以外言い方なかろう
475 名前:nobodyさん mailto:sage [2006/06/15(木) 10:33:44 ID:???] くるくるパー
476 名前:nobodyさん mailto:sage [2006/06/15(木) 13:37:41 ID:???] んで結局ピアー、ペアーどっちなの?
477 名前:nobodyさん mailto:sage [2006/06/15(木) 15:02:27 ID:???] >>476 ttp://pear.php.net/manual/ja/introduction.php > 果物の梨と同じように(「ペア」と)発音します。 梨↓ ttp://dictionary.goo.ne.jp/search.php?MT=pear&kind=ej&mode=0&base=1&row=0
478 名前:nobodyさん mailto:sage [2006/06/15(木) 15:05:14 ID:???] 漏れは ペア 派
479 名前:nobodyさん mailto:sage [2006/06/15(木) 15:49:12 ID:???] 激しくDDI
480 名前:nobodyさん mailto:sage [2006/06/15(木) 18:03:54 ID:???] 漏れは今poorだ。金くれ。
481 名前:nobodyさん mailto:sage [2006/06/15(木) 18:16:56 ID:???] 480 nobodyさん sage 2006/06/15(木) 18:03:54 ID:??? 漏れは今poorだ。金くれ。
482 名前:nobodyさん mailto:sage [2006/06/15(木) 21:20:04 ID:???] Spreadsheet_excel_writerを試用してるんですが、 セルに数値を入れるときカンマ区切りで表示する方法ないですかね? NumFormatでもできないようなので、PHP側でnumber_formatして 代入しているのですが、office2003のexcelで開くと 文字列として認識され激しく鬱です。 当然関数も使えなくなりますし…
483 名前:nobodyさん mailto:sage [2006/06/15(木) 22:42:31 ID:???] >>482 void Format::setNumFormat (integer $num_format)
484 名前:482 mailto:sage [2006/06/15(木) 23:35:37 ID:???] >>483 恥ずかしながらそのメソッドのマニュアルを見ても、 カンマ区切りのやり方が思いつかないんですが・・・。 ソース読まなきゃだめですか?
485 名前:nobodyさん mailto:sage [2006/06/16(金) 03:02:14 ID:???] PEARのライブラリって、Zendの人が作ったものの割合はどれくらいなんだろう? なんかもうひとつイマイチなものが多かったりするんだが、 Zendの開発力ってあの程度のものなのかな。
486 名前:nobodyさん mailto:sage [2006/06/16(金) 03:34:33 ID:???] PEARの人って、 ・元々PHP本体や拡張やってた人 ・Zendの人でPHPの本体、特にZEやってる人 と余りかぶってない気がする。PECLの方は、元々は 拡張でやってたのをPECLに出したものが多いけどね。
487 名前:nobodyさん mailto:sage [2006/06/17(土) 13:02:44 ID:???] あれ、pear.php.netの鯖おちてるぞ
488 名前:nobodyさん mailto:sage [2006/06/17(土) 15:04:46 ID:???] >>487 日常茶飯事だからいちいち報告しなくてもいいよ。
489 名前:nobodyさん mailto:sage [2006/06/18(日) 15:11:03 ID:???] php使ってるからね。 検索エンジンが来たら落ちます。orz
490 名前:nobodyさん mailto:sage [2006/06/19(月) 16:42:02 ID:???] いつの間にかHTML_QuickForm2なんてのがある
491 名前:nobodyさん mailto:sage [2006/06/19(月) 16:46:27 ID:???] >>490 なにーーーーー 1との互換性はあるのか? ファイルのアップロードはサポートされるのか? ちょっといってくる
492 名前:nobodyさん mailto:sage [2006/06/19(月) 17:09:57 ID:???] pear.php.net/package/HTML_QuickForm2 The package development is currently in planning stage. ...orz 待つか
493 名前:nobodyさん mailto:sage [2006/06/19(月) 18:02:43 ID:???] 1と同じ機能らしいけどどうだろ 欲しい機能ある? one time token実装して欲しいなー
494 名前:nobodyさん [2006/06/21(水) 12:59:40 ID:af4RZ/Sl] MAC OS 10.4でpearをインストールするためにコマンドを打ち込むと Warning: touch(): Unable to create file /usr/lib/php/.lock because Permission denied in Registry.php on line 284 could not create lock file: failed to open stream: No such file or directory というエラーが出てしまうのですが、どこのパーミッションを変えればよいのでしょうか?
495 名前:nobodyさん mailto:sage [2006/06/21(水) 13:20:26 ID:???] /usr/lib/php/ ディレクトリか、 /usr/lib/php/.lock のファイルのどちらか。 まずは .lock を消して試すことだね。
496 名前:nobodyさん mailto:sage [2006/06/21(水) 19:17:43 ID:???] レンサバでPEARを使うにはどうすればいい?誰か教えて
497 名前:nobodyさん mailto:sage [2006/06/21(水) 19:40:50 ID:???] >>496 管理にお願いするか 自分で書き込めるディレクトリ(DocumentRoot外が望ましい)に手動で置いて includ_pathを通す。
498 名前:nobodyさん mailto:sage [2006/06/21(水) 21:32:47 ID:???] >>494 sudo
499 名前:498 mailto:sage [2006/06/21(水) 21:37:25 ID:???] あ、ごめん。質問内容が違ってたね と言ってみる
500 名前:nobodyさん mailto:sage [2006/06/21(水) 23:56:04 ID:???] マカは氏ね。
501 名前:nobodyさん [2006/06/22(木) 14:12:58 ID:347Blei1] HTML_QuickFormでフォームの入力検証を行っているのですが グループ要素の検証を行う時、 ttp://www.okushin.co.jp/information/HTML_QForm/10_addGroupRule/ ここを参考にaddGroupRuleで以下のように書いたのですが これだとクライアントで検証を行ってくれません。 色々なところに「,"client"」などを色々挿入してみたのですが、どうもうまくいきません。 複合要素の配列を使った検証で、クライアント検証をさせるにはどのように書けばよいのでしょうか。 $form->addGroupRule("pay", array( "money"=>array( array("金額は必須入力です。","required"), array("金額は数字のみで入力して下さい。","numeric") ) ));
502 名前:nobodyさん [2006/06/22(木) 20:39:31 ID:5nFH6Fdq] >>496 telnetとかつかえる? 方法はいろいろあるみたい。 www.go-pear.org/manual/ja/installation.shared.php さくらでは、普通にpear install -o PAER でローカルコピーできた。 ほかのとこでは、 -bash-2.05b$ lynx -source pear.php.net/go-pear | php4 とかいう感じでいけそうだった。
503 名前:nobodyさん mailto:sage [2006/06/24(土) 08:49:42 ID:???] PEAR にもよるけど、 単純にファイルコピーで使えたりするしね。
504 名前:nobodyさん mailto:sage [2006/06/24(土) 14:46:40 ID:???] >>503 手動でコピー(展開)してパス通してたら使えないの有るの? 知ってるなら具体的に教えて。 なんかの参考になるかもしれんし
505 名前:nobodyさん mailto:sage [2006/06/24(土) 17:53:54 ID:???] >>504 単純に外部ライブラリに頼るものじゃね GD前提のモジュール(あるか知らないけれど)とかがあるとして シェル使えなくてGDがレン鯖にも入ってなくて、 サポートもされないならそれは使えない もちろんそれはPEAR自体の問題ではないけどね
506 名前:nobodyさん mailto:sage [2006/06/25(日) 02:29:16 ID:???] pear installはできるのにpear list-allができん、今まで問題なかったのになんじゃこりゃ。 原因分かる方おしえてくだされ XML error at line 1, check URL Invalid return payload: enable debugging to examine incoming payload
507 名前:nobodyさん mailto:sage [2006/06/25(日) 13:35:09 ID:???] pear list-upgrades してみるとか。
508 名前:nobodyさん mailto:sage [2006/06/25(日) 14:48:24 ID:???] pear list -a は出る?
509 名前:nobodyさん mailto:sage [2006/06/25(日) 15:59:40 ID:???] >>507 ,508 ありがとう、無事できました。 upgrade-allでupgradeできたと思ってたんだけど、list-upgradesしたらどれもアップグレードできてませんですた。 で、PEARとXML_RPCを個別で指定してアップグレードしたところchannelがなんたらかんたらと言われて、 それにしたがったところ動くようになりました。
510 名前:nobodyさん mailto:sage [2006/07/11(火) 19:31:23 ID:???] PEAR::DB This package been superseded by MDB2 but is still maintained for bugs and security fixes MDB2 使うぐらいだったら、PDO の方が良いような…。
511 名前:nobodyさん [2006/07/19(水) 02:41:49 ID:bvrYbrpe] Services_Amazon(ver0.5.0)使ってみたんですけど、 複数キーワードの場合どう指定すればいいのかわからんです。 おしえてえらいひと ソースはこれまんま使わせてもらったです ttp://dozo.rgr.jp/log/eid194.html
512 名前:nobodyさん mailto:sage [2006/07/19(水) 03:02:13 ID:???] 自分で拡張しないとダメでしょ。自力で弄れないならver1.0まで待てば? 漏れなら単発で引いて、自分でマージ。
513 名前:nobodyさん [2006/07/20(木) 14:43:10 ID:9HfxuTZk] PEARインストールし、PEAR::DBを試そうとしています。 マニュアルで見ると、なにごともDB.phpのインクルードから的な感じで 説明なくそうなってますけど自分の環境にはDB.phpがありません。(インストール失敗してる?) エラーもその旨出ます("DB.phpが見つからない") おききしたいのは、インストール時に「DB.php」というファイルが生成されるのか、 phpをインストールしたときのように、なにか別のファイルの名前を変更するなどして自分でつくるとか、 そのあたりどういった具合になるんでしょうか。 環境はWinXPのsp1、phpは5.1.4です。
514 名前:nobodyさん mailto:sage [2006/07/20(木) 15:03:18 ID:???] >>513 どうやってインストールして、どのようにインストールが成功したと判断したの? pear listで表示される? 表示されるなら、PEARのフォルダがinclude pathに含まれていないんじゃないかな?
515 名前:513 mailto:sage [2006/07/20(木) 17:26:23 ID:???] >>514 ありがとうございます。 pear listではパッケージの一覧が表示されますし(すべて"安定"との表示)、 include_pathも確認済みです。 インストールはコマンドプロンプトからgo-pear.org にアクセスしてインストールしました。 その際にそれぞれのパッケージに対してダウンロードok,インストールokというような表示が逐一出まして、最後まで進んで終了しました。 最後に以下の警告が表示されました。 ひとつはWindowsの環境変数のパスが違っていると言うもの→PHPのマニュアルに従ってパスをC:\php\extにしていたが、警告を受けてC:\phpに戻しました。 それとphp.iniのinclude_pathに対してのもの→PEARへのパスを追記。 他に、phpフォルダ直下のPEAR_ENV.regをWindowsのレジストリに追加しておくと便利、という表示に従い、 意味はわかりませんでしたが実行しました。 何度かやり直し、今も確認してたんですが、やはりDB.phpというファイルはなく、 スクリプトの実行エラーもDB.phpが見つからない、という内容のままです・・・
516 名前:nobodyさん mailto:sage [2006/07/20(木) 17:55:03 ID:???] >>515 一見問題なさそうだけど・・・。 インストールは普通コマンドプロンプトから pear install パッケージ名 で良いですよ。 pear listで表示されるstableは安定版という意味で、β版やα版を 入れるときは pear config-set preferred_state beta なんてことをやってから インストールします。予断ですが。 一度 pear uninstall DB でアンインストールして、再インストールして見てはどうでしょう? それと確認ですがDB.phpは本当にどこにもありませんか? HDDを検索してみてはいかがでしょう?
517 名前:513 mailto:sage [2006/07/20(木) 18:46:05 ID:???] >>516 ありがとうございます!解決できました。 おしえていただいたアンインストールのコマンドを試してみたら "インストールされてません"とのメッセージが・・・ その後pear install DBとしたところDB.phpも現われ、スクリプトも実行できました。 インストールされてればpear listでもちゃんと"DB"と表示されるんですね・・・ 今まではPEARを使うための準備をしてただけなのに勘違いしてました・・・ PEARをインストールすれば主だったパッケージはインストールされてるものとばかり・・・(恥) もう何日かごちゃごちゃやっていたので本当にたすかりましたm(_ _)m
518 名前:nobodyさん mailto:sage [2006/07/20(木) 19:02:35 ID:???] >>517 うーむなんだかw ま解決して何より。 もうひとつ豆知識として、モジュールには依存関係がある場合が あるんだけど、依存するモジュールもまとめてインストールするときには pear install --alldeps モジュール名 という書き方もできる。 また、インストール済みのモジュールは、 pear upgrade-all で最新版(がリリースされてれば)に更新できる。 この2つくらいは覚えとき。
519 名前:513 mailto:sage [2006/07/20(木) 22:11:04 ID:???] >>518 たびたびすいませんー。そのコマンドが心に沁みまする^^ いろいろ学んでいきたいと思ってます。
520 名前:nobodyさん [2006/07/23(日) 04:35:31 ID:becjw5iF] 横からすみません。 PEAR::Auth使ってるのですが、少し時間が空くとusernameが空になる現象に困っています。 $myAuth->username から $myAuth->getUsername()に変えても直りません。 お助けください><;;
521 名前:nobodyさん mailto:sage [2006/07/23(日) 04:43:40 ID:???] $myAuth->getAuth()はtrueが帰って来ています。 30分ぐらい(?)他っておくと(アイドルにしておくと)起こるようです。 PHP5で最近pear install Authしました。
522 名前:520 mailto:sage [2006/07/23(日) 04:56:36 ID:???] 訂正します。 時間が空かなくても、ページ移動するごとにログインしている状態(getAuthがtrue)なのにusernameが空になっているようです...
523 名前:nobodyさん [2006/07/24(月) 17:55:27 ID:WjQLi7Eq] HTML_Template_Flexy についての質問です。 自宅環境で正常に動作するスクリプトを作ったのですが、レン鯖にアップすると コンパイルが正常に行われません。 具体的には、HTMLタグが全て"Array"という文字になり、本来PHPコードに変換されるはずの{variable}等が 全く変換されず、そのまま出力されてしまいます。 PEARやHTML_Template_Flexy の再インストールもやってみましたが、変化ありません。 念のため php.ini の mbstring 関連の設定も揃えてみましたが、こちらも変化ありませんでした。 このような場合、どのような原因が考えられますでしょうか? チェックすべき項目などがありましたらご指摘お願いします。
524 名前:nobodyさん mailto:sage [2006/07/25(火) 09:30:59 ID:???] 自宅環境とレン鯖環境ぐらい晒したら? ちょっとチェック用のスクリプト作って動作チェックぐらいして無いの?
525 名前:nobodyさん [2006/08/02(水) 03:18:27 ID:aylqqE98] すみませんが教えてください。 PEARのDBを使って、DB側で設定されたシーケンス値を インサート後に取得する方法ってありますでしょうか? PEARのマニュアルの警告には、シーケンスはDBMS側を使わずに、 PEARの中で管理しろと書いてあるのですが、 やっぱりDB側のシーケンスは使ってはだめなんですかね・・・?
526 名前:nobodyさん mailto:sage [2006/08/02(水) 10:38:05 ID:???] >>525 INSERT 前に nextId() を使って、次のシーケンスを取得しておいて それを INSERT して、その後参照する場面でもそのシーケンスを使いまわす。
527 名前:nobodyさん mailto:sage [2006/08/02(水) 12:41:04 ID:???] >>526 やっぱりその手しかないのですよね。 ありがとうございました。
528 名前:nobodyさん [2006/08/24(木) 23:34:20 ID:KkbLy53/] PEAR::DBに関しての質問なのですが、 $db->setFetchModeを「DB_FETCHMODE_ASSOC」に指定すると、 2つのテーブルで同じ名前の列がある場合、片方しかとれません。 たとえば、 create table t1 (id integer, data varchar(10)); create table t2 (id integer, data varchar(10)); とした時に、下のようなSELECTを実行します。 select t1.id, t1.data, t2.id, t2.data from t1, t2 where t1.id = t2.id すると、かえってくる連想配列の内容をprint_rでみると Array ( [id] => 1 [data] => data1 ) こんな内容が帰ってきます。FETCHモードが、「DB_FETCHMODE_ASSOC」の場合、 指定した列すべて取れないのでしょうか・・・?期待していたのは下のような結果なのですが。 Array ( [t1.id] => 1 [t1.data] => data1 [t2.id] => 1 [t2.data] => data2 ) ちなみに、PHPは4.3.11、PEAR::DBは1.7.6、DBはpostgreSQLでV8.xです。 ご存知の方、いらっしゃいましたら教えてください。よろしくお願いいたします。
529 名前:nobodyさん mailto:sage [2006/08/24(木) 23:38:19 ID:???] >>528 t1.data AS t1_data, t2.data AS t2_data, みたいにエイリアスで別々の名前つけてやって取得すればいけると思う
530 名前:nobodyさん mailto:sage [2006/08/25(金) 00:23:23 ID:???] >>529 そのとおりでした。 ありがとうございました。
531 名前:nobodyさん mailto:sage [2006/09/09(土) 15:30:02 ID:???] 他スレに質問しましたが、PEARの話題はスレ違いだったのでこちらで、質問させて頂きます。 えろいひとがいましたら、おしえてくれたりしてください。 php4.3 redhatES4 apache1.3 mysql4.1 です。 PEARのDB_DataObjectで「UPDATE」するときの質問です。 DB_DataObjectのインクルードや設定ファイル読み込みが終わったとしします。 numが1のデータを探して年齢を変更するといった場合は $hoge=DB_DataObject::factory("hoges"); $hoge->get(num,1); $hoge->age = 15; $hoge->update(); でできるのですが、numが1で名前がyamadaのデータの年齢を変更するといった場合がうまくできません。 $hoge=DB_DataObject::factory("hoges"); $hoge->whereAdd('id = 1'); $hoge->whereAdd('name = yamada'); $hoge->age = 15; $hoge->update(); PEARのドキュメントをみても、複数絞込みのUPDATEの例がなくてこまっています。 直接SQL query()をなげるしかないのでしょうか。
532 名前:nobodyさん mailto:sage [2006/09/09(土) 16:08:57 ID:???] >>531 DB_DataObject の update() は基本的にユニークキーを指定して行なうものだけど そうでなく自前で WhereAdd() した条件で広範囲に update() する時には 引数に定数をつけて update(DB_DATAOBJECT_WHEREADD_ONLY) してやるとよろしい
533 名前:531 mailto:sage [2006/09/09(土) 18:22:55 ID:???] どうもありがとです。 たったそれだけのことなのですね。 基本的に2つに一致する条件のものは1つのレコードだけなのですが まぁこのやりかたで解決しました。
534 名前:nobodyさん mailto:sage [2006/09/09(土) 19:19:05 ID:???] 解決おめ 蛇足だけど DB_DataObject は全体の傾向として テーブルに必ず int ひとつだけのユニークキーがあるようにしてあると 扱いやすいようにできている気がする 開発工期を短く済ませるために DB_DataObject で扱いやすいテーブル設計をするとか 邪道っぽいけどとても効果的だったりw
535 名前:nobodyさん mailto:sage [2006/09/09(土) 19:34:57 ID:??? BE:340493748-2BP(200)] たしかに、設計としてはアレだけど全部のテーブルに"auto_id"みたいなauto_incrimentを作っとくと便利
536 名前:nobodyさん mailto:sage [2006/09/16(土) 22:13:02 ID:???] Requiring E_STRICT 通った pear.php.net/pepr/pepr-proposal-show.php?id=419 PEAR新世紀幕開けか
537 名前:nobodyさん [2006/09/17(日) 02:30:59 ID:BzsrnxFm] 今度PEARを使うことになったんだけど、PHP5だと 動かないやつとかあるのかな? いまいち知らんけど、PHP4時代に作られたライブラリ だと、PHP5で非互換な部分のせいで動かなかったり するんかな。
538 名前:nobodyさん mailto:sage [2006/09/17(日) 16:20:16 ID:???] そんな心配はPHP6になったらまた作り直すことに成るから心配しなくても良いよ。 PHP5時代の資産が未来永劫使える保証すらないから。
539 名前:nobodyさん mailto:sage [2006/09/26(火) 16:24:45 ID:???] というけど今のPEARってほとんどPHP4で作られたものじゃないのか? PHP5で作られたものなんでMDB2みたいな不安定なものばかりだし
540 名前:nobodyさん mailto:sage [2006/09/26(火) 17:00:15 ID:???] MDB2はPHP4ベースだし不安定でもない
541 名前:531 [2006/10/01(日) 07:09:16 ID:Ge/0d2rj] 以前質問したものです。またDB_DataObjectでつまづいてます。 php4.3 redhatES4 apache1.3 mysql4.1 です。 PEARのDB_DataObjectで「UPDATE」するときの質問です。 numが1のデータを探して年齢を+1するといった場合は $hoge=DB_DataObject::factory("hoges"); $hoge->get(num,1); $hoge->age += 1; $hoge->update(); でできるのですが、numが1で誕生日が1月のデータの年齢を+1するといった場合がうまくできません。 $hoge=DB_DataObject::factory("hoges"); $hoge->whereAdd('num = 1'); $hoge->whereAdd('birthday = 1'); $hoge->age += 1; $hoge->update(DB_DATAOBJECT_WHEREADD_ONLY); += のように加えたりする系の処理はDB_DATAOBJECT_WHEREADD_ONLYだと無理なのでしょうか。
542 名前:nobodyさん mailto:sage [2006/10/01(日) 09:25:45 ID:???] テーブル設計ぐらい示せよ。何となく設計がタコだと思う。 SQL直書きならできそうだけどな。
543 名前:531 [2006/10/01(日) 11:29:45 ID:Ge/0d2rj] すいません。実際はちがうのですが上述の質問は下記を想定しています。 MYSQL4.1です。 CREATE TABLE `hoges` ( `id` int(10) NOT NULL auto_increment, `num` int(10) NOT NULL default '0', `age` int(3) NOT NULL default '0', `birthday` datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY (`id`) ) TYPE=MyISAM;
544 名前:531 [2006/10/01(日) 11:38:58 ID:Ge/0d2rj] `birthday` int(3) NOT NULL default '0', birthdayもとりあえずintegerで。
545 名前:nobodyさん mailto:sage [2006/10/01(日) 11:54:05 ID:???] >>531 $hoge->age = DB_DataObject_Cast::sql('age + 1'); ってことかな? 上記だと joinAdd() とかした時にハマる危険性がないでもないが通常は問題なかろ $hoge->age = DB_DataObject_Cast::sql($hoge->tableName().'.age + 1'); とかだと冗長だけどさらに確実 とか書いてるけど試してないから実験は自分でやってみてね
546 名前:nobodyさん mailto:sage [2006/10/01(日) 12:04:49 ID:???] 1レコード限定の更新じゃないUPDATEなら SQL直書きにしといた方が、他の人が見たときに ここは全体にかけるUPDATEなんだってわかりやすいと思うけどなあ O/R mapperはSQL書かずにDB扱うためだけのもんじゃないのに
547 名前:nobodyさん mailto:sage [2006/10/02(月) 09:06:19 ID:???] そもそも「年齢」で管理しているのが良くないのでは? 普通は「生年月日」だね
548 名前:nobodyさん mailto:sage [2006/10/02(月) 14:32:51 ID:???] 「生年月日」をDBに持っといて 「年齢」は取得するSQLだのプログラムだのでその時決定する ってのがいいんでないかい パフォーマンス要求厳しい場合は別だけど……
549 名前:531 mailto:sage [2006/10/03(火) 01:49:42 ID:???] アドバイスありがとうございます。 num、age等はサンプルです。実際にやる場合は547氏のいうとおり 生年月日のほうがよいでしょう。 質問の意図としては 「複数行をアップデートする」 かつ 「+=といった数値を加える」 処理を上記方法でできないか?というかんじでした。 聞き方が悪くて申し訳ありません。 とりあえず試した方法でやってみます。 最悪SQL直で。
550 名前:nobodyさん mailto:sage [2006/10/03(火) 17:48:51 ID:???] うーん、例だと全然イメージ湧かないな。何をしたいの?
551 名前:nobodyさん mailto:sage [2006/10/03(火) 22:37:28 ID:???] pearのインストールに躓いたので質問させてください。 Xdebugをインストールしようと思い、 cmdから# pecl install Xdebug を実行しました。 しかしエラーが表示され、 xdebugというフォルダが作成されるものの、 フォルダの中身は空っぽです。 設定を間違えているんでしょうか?
552 名前:nobodyさん mailto:sage [2006/10/03(火) 22:43:50 ID:???] エラーメッセージは?
553 名前:551 mailto:sage [2006/10/03(火) 22:55:42 ID:???] >>552 ERROR: The DSP xdebug.dsp does not exist と表示されます
554 名前:nobodyさん mailto:sage [2006/10/03(火) 22:59:16 ID:???] >>553 そのメッセージでぐぐっただけだけどこれは? it-laboratory.seesaa.net/article/20204067.html
555 名前:551 mailto:sage [2006/10/03(火) 23:43:31 ID:???] >>554 ありがとうございます。これを試してみます。 ところでコンパイル版のインストールってどうすればいいんでしょうか? installコマンドしか試したことがなく、 検索してもみつからないもので・・・
556 名前:nobodyさん mailto:sage [2006/10/03(火) 23:48:23 ID:???] >>555 jp.php.net/manual/ja/install.pecl.windows.php