のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,682,991人
昨日:no data人
今日:
最近の注目
人気の最安値情報

私的良スレ書庫

不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

元スレくだすれPHP(超初心者用)5

php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニュー
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
レスフィルター : (試験中)
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
151 : nobodyさん - 2008/12/09(火) 02:50:19 ID:??? (+52,+29,+0)
なんでxmlって決め付けてるんだよ
152 : nobodyさん - 2008/12/09(火) 03:19:03 ID:??? (+64,+29,-2)
>>149
できました!

>>148
こんど勉強してみます。
153 : nobodyさん - 2008/12/09(火) 04:53:11 ID:??? (+62,+29,-125)
トップページに検索フォームを用意しておいて
トップページと検索結果ページのレイアウトを全くの別物にしたい場合
GETに中身がなかったらトップページへ
中身があったら検索結果ページへとか言う風にif文でhtmlを丸ごと括って分岐させる感じでいいの?
なんかスマートじゃない気がするんだけど
154 : nobodyさん - 2008/12/09(火) 05:12:49 ID:??? (+57,+29,-60)
検索アクションがあったら中身が空であっても検索結果を出すべきだろ
検索単語を入れるように検索結果のページで促したり
単純にヒットしなかったと検索結果を出すのが普通
155 : nobodyさん - 2008/12/09(火) 13:03:23 ID:??? (-6,-29,-29)
いいことを教えてやろう。

<form action="search.php">
156 : nobodyさん - 2008/12/09(火) 14:41:55 ID:??? (-1,-29,-41)
入力エラーだからlocationヘッダでトップページに返せばいいんじゃない?
できればエラーメッセージつけてかえすと親切だな。
157 : nobodyさん - 2008/12/09(火) 20:34:24 ID:??? (+0,-27,-9)
トップページと同一のファイルで検索結果を表示しようとしてるの?
普通に検索用のスクリプト作ればいいじゃない。
158 : nobodyさん - 2008/12/09(火) 22:03:51 ID:??? (+36,-29,-96)
symfonyで作ったスクリプトって、単体じゃー動かないの?
symfony本体無いと動かない?

上の質問が正解だとすると、レンタルサーバではほぼ使えないですよね?
symfony使えるサーバじゃないと。
159 : nobodyさん - 2008/12/09(火) 22:10:06 ID:??? (+62,+29,-36)
>>158
フレームワークなんだからそれ通さないと動かないに決まってるだろ
PHPのフレームワークなんだからPHPで書かれてるだろ
PHPさえ使えればどの鯖でもつかえるんじゃね?
160 : nobodyさん - 2008/12/09(火) 22:56:48 ID:??? (+159,-30,-143)
よろしければご質問いたします

データベースに内に用事のある日付と人のIDを入れておくテーブルが有ったとします
(DATE, ID)
(11/29, K)
(12/5, F)
(12/7, F …みたいな感じ)

そこからSQL文で月を指定してまとめてデータを抜き出しておいて
画面テーブルのトップに日付と曜日の一覧を表示させておいて
人別に用事のある日付に×を書き込みたいのですけど
(5日と7日に用事があればF, , , , ,×, ,×, …みたいな感じ)

SQL文で範囲選択して取得したデータを保持しておいて
その中に条件にあったデータが有るかをチェックする事って出来ますか?

for文で画面テーブルを作成しながら$iの値を日付に合わせて増やしていき
SQL文で一度取得したデータの中に$i(日付)と同じものが有れば
×を記入さていこうかなと考えています

お分かりになるかた、もっといい方法を思いつく方
ご教授を願えたら有り難く思います
161 : nobodyさん - 2008/12/09(火) 23:00:33 ID:??? (+91,+29,-29)
> ご教授を願えたら有り難く思います

「ご教授願えますか」なら兎も角、不思議な日本語。
162 : 160 - 2008/12/09(火) 23:09:26 ID:??? (+108,+29,-36)
>>161
早速ご指摘を頂き有り難う御座います

追加ですが配列を使用せずに記述をしたいと考えております

お分かりになる方、もっといい方法を思いつく方
ご教授願えますか
163 : nobodyさん - 2008/12/09(火) 23:15:35 ID:??? (+91,+29,-29)
このスレを教授が見てる確率は限りなく低いので
無理でないかと思います
大学で聞くのが一番早いと思うのでそちらをお勧めします
164 : 160 - 2008/12/09(火) 23:21:52 ID:??? (+79,+29,-18)
>>163
度々のご指摘ありがとう御座います

正しくは教示の様ですね

>>160>>162に関しまして
お分かりになる方、もっといい方法を思いつく方
ご教示願えますか
165 : nobodyさん - 2008/12/10(水) 00:15:00 ID:??? (+88,-30,-190)
>>164
SQLのクイズ出してるつもりならスレチだよ。
MySQLならgroup_concat(DATE) と group by IDを使って行を取得というのが楽
標準SQLで組もうとすると、ちょっとパズルチックになるからね。
他人が書いた答えは知ってるけど、オリジナルじゃないからググってみることをお勧めする。

個人的にはfor文で処理するより、rangeと配列、array_mapでサクッとテーブル書く方が好きだな。
ループはダサい。

でもあえて配列を使わないんなら、ORDER BY ID, DATEでクエリの結果セットを
ループしながらifとswitchでテーブル組めば普通にできる。
166 : 160 - 2008/12/10(水) 07:53:28 ID:??? (+74,+30,-186)
>>165
ご返答有り難う御座います

現在インターン中なのですが
そこで課題として従業員のシフト表を作成しています

従業員テーブルから情報を引き出して
それを元に休日テーブルから情報を引き出して表を作成しようと考えています

当初は一度配列に入れてから配列一つひとつをfor文とif文で参照しようと考えていましたが
担当の方にそのアイデアを話してみた所
配列に入れなくても出来ると一蹴されて困っていました。

一度>>165様に頂いたワードを調べて参考にしたいと思います

また別の方法が有りましたら教えていただけると
有り難く思います
167 : nobodyさん - 2008/12/10(水) 07:54:29 ID:??? (+94,+29,-18)
2chでアルゴリズム聞いて実装するとか嫌なインターンだなw
168 : nobodyさん - 2008/12/10(水) 08:13:18 ID:??? (+121,-30,-265)
いや、話を聞いてみるとよくある話。
ちゃんと説明しない嫌な担当だな。

ところで、面白い方法(拡張しないなら冗長だけど)あるよ。
配列もforループも使わない。たぶんifも最小限になる。
RecursiveIteratorIteratorっていうのがあるから、
個人イテレーターを親に日付イテレーターを子に持つようなイテレーターを
定義して、PDOをマップする。日付イテレーターのnext()は次にSQLデータの
有無にかかわらず日付をインクリメントする。
フィルターイテレーターも同時に実装して月別フィルターとか年別フィルター
とか週別フィルターとかも実装する。
テーブルソースの作成部分はデコレーターでデータをラップして文字列化
するようなものにする。
すると、
$obj = new shiftTable(array('scope'=>'month', 'target' => 12));
echo $obj;
で表が自動出力されるようなものが作れる。
169 : 160 - 2008/12/10(水) 08:34:45 ID:??? (+81,+30,-176)
>>167
グループ課題の担当している部分なのでグループ全体に
影響が出ないよう早く見当を付けたいと思い質問させていただきました

>>168
私の知識では拡張という言葉がどれ程の物をあらわしているのか分かりませんが
>>160は若干端折って記入しており、実際には×では無く
休日テーブルを書き換える為のチェックボタンが付いており
従業員が現在休みになっている日は初期画面で黒くチェックが入って表示され
画面テーブルの外部にsubmitボタンが付いています

担当の人の話では
休日テーブルから5と7という値を取得すれば配列に入れなくても
画面テーブルの5番目に表示させてから7まで空のセルをつくり
7番目でまた表示させることが出来ると言われました

それを解決しようと思い>>160の質問に至ったわけです

>>168様の方法も調べて参考にさせて頂きたいと思います
ご返答ありがとうございました
170 : nobodyさん - 2008/12/10(水) 08:48:49 ID:??? (+79,+29,-171)
> 休日テーブルから5と7という値を取得すれば配列に入れなくても
> 画面テーブルの5番目に表示させてから7まで空のセルをつくり
> 7番目でまた表示させることが出来ると言われました

なんというトーニャハーディング、できりゃいいんかい!って感じの考えだな。
SELECTで前回表示のレコードを取得しとくのか、forループで前回データを保存するのか
いずれにしても、表示ロジックをデータ処理に放りこむのか・・・すごいな。
そういうところでは、はいはいって言うこと聞いて逆らわない方がよさそうw

もし、フォーム要素なんかが絡むんなら>>168の方法で基本ロジックを作成して
デコレーターでラップするといいんだけど、習得には多少なりとも時間が
かかるかもしれないのでお勧めはしない。
171 : nobodyさん - 2008/12/10(水) 10:52:26 ID:??? (-2,-30,-34)
fromのポストでsubmitのnameの値を取得する方法を教えてください。

<input type=”submit” name="取得する値” value=”送信” />

172 : nobodyさん - 2008/12/10(水) 11:00:06 ID:??? (-6,-29,-3)
$_POST['取得する値']
173 : nobodyさん - 2008/12/10(水) 11:01:37 ID:??? (+2,-30,-49)
もしくは"送信"が限定されてるなら、array_search("送信", $_POST);
174 : nobodyさん - 2008/12/10(水) 11:07:56 ID:??? (-1,-29,-13)
>>173
誤解していました。
ありがとうございます。
array_search覚えました。
175 : nobodyさん - 2008/12/10(水) 11:29:34 ID:??? (+3,-29,-42)
少しおしえてください。
PDOでInsertをプリペアドステートメントで行うとき、値が空っぽの時、
NULLを挿入したいのですが、NULLじゃなく、''の空が挿入されます。

これってPDOのオプションで自動で''の時は、NULLを挿入することは出来ないのですか?
176 : nobodyさん - 2008/12/10(水) 11:34:32 ID:??? (+57,+28,-3)
どんなソースで実装したの?
177 : nobodyさん - 2008/12/10(水) 12:04:52 ID:??? (+10,-30,-133)
>>176

例えばこんな感じ

$id = 1;
$name = 'abc';
$tel = '03-3333-3333';
$email = '';

$sth = $dbm->prepare("INSERT INTO `test` (id, name, tel, email) VALUES (?, ?, ?, ?);");
$sth->execute(array($id, $name, $tel, $email));

この場合、$email が空になってるので、''でInsertされたと同じになって、
NULLが入りませんので、これをPDOのオプションでNULLに出来たらなと・・

178 : nobodyさん - 2008/12/10(水) 12:13:26 ID:??? (-1,-29,-15)
$emailをNULLにすればよろしい
179 : nobodyさん - 2008/12/10(水) 12:33:55 ID:??? (+5,-30,-10)
$sth->execute(array($id, $name, $tel, null));
にすれば、NULLが入るのは分かってるのですが、、それはめんどくさいですよね。。
180 : nobodyさん - 2008/12/10(水) 12:47:47 ID:??? (+57,+29,-15)
空文字入れたいのか、null入れたいのかの区別がつかないじゃないか。
もし空文字のときは必ずnullでいいならば、間に関数1つかませばいいべ。
181 : nobodyさん - 2008/12/10(水) 12:57:22 ID:??? (+5,-23,-14)
>>179
バインドメソッドで明示的に指定すれば?
182 : nobodyさん - 2008/12/10(水) 12:57:33 ID:??? (+57,+29,-1)
そうですよね。
かますことにします。

ありがとうございます。
183 : nobodyさん - 2008/12/10(水) 13:03:54 ID:??? (+3,-30,-63)

もう一つ聞いてもいいですか?
PDOとMySQL5です。

PDOを使ってSELECTをした場合、クエリーキャッシュは使われてるのでしょうか?

(PDO::MYSQL_ATTR_USE_BUFFERED_QUERYは無効にしてあります)
184 : nobodyさん - 2008/12/10(水) 13:13:49 ID:??? (+21,-13,-18)
MySQLのクエリーキャッシュのことを言ってるなら、MySQLの設定次第
185 : nobodyさん - 2008/12/10(水) 13:18:14 ID:??? (+19,-29,-61)
書き忘れましたが、PHP5.2.0です。

>>184
PHPのネイティブ関数であれば、クエリーキャッシュは効いてるですが、PDOを使うとだめぽっい。。


PHP5.2.1にアップするしかないのかなぁ・・。
186 : nobodyさん - 2008/12/10(水) 14:41:30 ID:??? (-1,-29,-56)
動画データFLVの1コマ目だけをjpegにして、サムネイル化して表示
をしたいのですが、どうすれば出来るでしょうか?


PHP5.2を使ってます。詳しい方いらっしゃったらおしえてください。
187 : nobodyさん - 2008/12/10(水) 14:48:09 ID:??? (+24,-10,-24)
>>185
PHP5.2.0ってだめなの?5.1.17ぐらいから使えるはずだけど。
まぁ、書いてるんだしそうなのかな・・・
188 : nobodyさん - 2008/12/10(水) 15:00:33 ID:??? (+1,-30,-66)
>>187

PHP5.2.0のPDOだとクエリキャッシュが効いてないみたいですね。

PDO::MYSQL_ATTR_USE_BUFFERED_QUERYを有効にすると効きますが、副作用があって。。
189 : nobodyさん - 2008/12/10(水) 18:06:24 ID:??? (+35,+17,-1)
どんな?
190 : nobodyさん - 2008/12/10(水) 18:38:54 ID:??? (-2,-30,-52)
LIMIT ?,? とかやるとエラーになります。
なので、LIMIT 0,10 とか LIMIT {$offset}, {$limit}とやれば良いんですけど・・。 
191 : nobodyさん - 2008/12/10(水) 19:00:30 ID:??? (+25,-29,-110)
まだ勉強中なんですが、phpで実現可能かどうか質問させて下さい

メールを受信した後、それをHTMLとして表示させたいんです。
エンコード状態のマルチパートなメール(ソース?)があるとして、
それをHTMLとして出力するライブラリみたいなのとかありますか?
問題は画像の部分だと思っています。(どう実現するかイメージも沸きません)

具体的な使い方は調べますので、あるかどうかと、
名前とかヒント教えてもらえるとありがたいです。

ちなみに、レンタルサーバ借りて(Web/Mail/php/DB)
iPhoneから使えるWEBメールシステムを自分の為に作ってます
192 : nobodyさん - 2008/12/10(水) 19:05:12 ID:??? (+13,-29,-100)
PEAR Mailに受信したメールを読ませれば添付ファイルまで抽出できる。
メールサーバが立ってるなら、.forward等でphpプログラムに渡すと簡単。
他所のメールサーバーでも、POPやIMAP用の関数でアクセスすることも可能。
解釈部分はPEARが実績があると思う。
193 : nobodyさん - 2008/12/11(木) 01:53:18 ID:??? (+39,-2,-14)
>>191 レンタルサーバだと難しいと思うよ
194 : nobodyさん - 2008/12/11(木) 12:19:57 ID:??? (+14,-29,-2)
>>191
iPhoneならGmail使えば良いのに・・・
195 : nobodyさん - 2008/12/11(木) 12:31:14 ID:??? (+21,-21,-163)
191です
ありがとうございます

>>192
PEAR MailのPOP3でメールとってますが
画像部分を一旦保存しなきゃダメですかね~
極端な話、メールのテキストと埋め込み画像をまとめて
1つの画像に落としてくれる関数があればいいんですけど都合よすぎですね><
>>193
ネックは画像を抽出する部分とかでしょうか?
>>194
Gmailはメール入力が難ありで・・・
Yahoo!JメールはiPhone用のメール作成画面ないし・・
それと、
あるAさん宛てのメールとAさんから来たメールを抽出して
一覧で見せるようなのをイメージしてます
196 : nobodyさん - 2008/12/11(木) 15:16:35 ID:??? (+15,-29,-73)
>>195 画像抽出は簡単だけど、
送信されてきたメールをプログラムに渡すにはサーバの設定が必要で、
POPから取得するとCRONの設定が必要。
メール送信して、スクリプトにアクセスするならいいけど。
197 : nobodyさん - 2008/12/11(木) 15:47:11 ID:??? (-3,-29,-19)
特定URLに定期的にアクセスしてくれる、CRONサービスがあるから、
それを利用すればOK
198 : nobodyさん - 2008/12/11(木) 15:48:27 ID:??? (+0,-27,-20)
WebMailに使うならアクセス時に全部取りに行けばいいので、
cronはいらないんじゃね?
199 : 196 - 2008/12/11(木) 17:30:03 ID:??? (+3,-24,-1)
ごめん勘違いしてた。じやあIMAP関数使えば楽勝。
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

類似してるかもしれないスレッド


トップメニューへ / →のくす牧場書庫について