[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 06/01 12:02 / Filesize : 180 KB / Number-of Response : 739
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:nobodyさん mailto:sage [2008/11/22(土) 06:36:02 ID:???]
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
PHP使いが優しくコメントを返しますが、
お礼はPHPの布教と初心者の救済をお願いします。

PHP Home Page
www.php.net/
jp.php.net/



くだすれPHP(超初心者用)4
pc11.2ch.net/test/read.cgi/php/1213356756/

適当に関連スレ(マルチはだめぽ)
【PHP】下らねぇ質問はここに書き込みやがれ 69
pc11.2ch.net/test/read.cgi/php/1211879073/

73 名前:nobodyさん mailto:sage [2008/11/28(金) 10:03:58 ID:???]
pear.php.net/go-pearを保存して実行でおk

74 名前:nobodyさん [2008/12/02(火) 21:02:45 ID:ZnEnsvHS]
誰かお願いします。

内容
フォームからPOSTのメソッドを利用して「ユーザーID」と「パスワード」送信する。
受信したファイルでは「ユーザーID」と「パスワード」の妥協性を判断して出力する。

条件
データ送信用ファイル:input.html
データ受信用ファイル:check.php

input.htmlには2種類のテキストボックスを配置させる(txtId と txtPass)
check.phpでは以下の4種類のメッセージを出力させること

・ユーザーIDとパスワードの組み合わせが正しい場合
「認証成功!」
・ユーザーIDが存在しない場合
「ユーザーIDが存在しません」
・ユーザーIDは存在するがパスワードが誤っている場合
「パスワードが違います」
・ユーザーID、またはパスワードのいずれかが空白の場合
「ユ−ザーIDまたはパスワードが未入力です」

check.phpにおけるユーザーIDとパスワードの組み合わせ(3ユーザー分)
ユーザーID:guest admin test
パスワード:goma adm test

スクリプト以下の配列に格納し、プログラムによって判断を行う。
ユーザーID:$arrUser $arrUser = array(・・・・);
パスワード:$arrPass &arrPass = array(・・・・);

課題で出たのですが、受信側の処理がわからないです。
誰かお願いします。

75 名前:nobodyさん mailto:sage [2008/12/02(火) 21:09:11 ID:???]
ID無し質問スレで書いた者だけど
マルチは最悪だな

76 名前:nobodyさん mailto:sage [2008/12/02(火) 21:54:03 ID:???]
マルチとかはどうでもいいが
コピペで我が物顔で提出されるかと思うと、教える気失せるな。
せめて、ここまでやってみましたけどうまくできなせん、とか
努力を見せてほしいね。
講義をちゃんと聴いてない74が悪い

77 名前:nobodyさん [2008/12/02(火) 21:55:58 ID:ZnEnsvHS]
ユーザーIDとパスワードのとこの配列の使い方が分からないです

78 名前:nobodyさん mailto:sage [2008/12/02(火) 22:40:15 ID:???]
「ここから先ぜんぶわからないんだけど〜」

79 名前:nobodyさん mailto:sage [2008/12/03(水) 06:17:09 ID:???]
>>74
PHP Tutorial #2 - Login form
jp.youtube.com/watch?v=7JmSf9JfQjY

80 名前:nobodyさん [2008/12/03(水) 20:41:42 ID:SBXcaNw7]
fputcsvを使って入力データの保存を行おうと思ったのですが、
こういうのってトランザクションはどうするべきなのでしょうか?

81 名前:nobodyさん mailto:sage [2008/12/03(水) 20:43:40 ID:???]
ロックかければ?



82 名前:nobodyさん mailto:sage [2008/12/04(木) 01:40:03 ID:???]
ロック
ロック
ここでロック
あなたから
ロック
手を伸ばして
受け取ってよ


83 名前:nobodyさん [2008/12/04(木) 02:49:51 ID:6sD/pbke]
pecl4winが落ちてるからimagick.dllがダウンロードできないんだけどどっかにないかな?

84 名前:nobodyさん mailto:sage [2008/12/04(木) 10:12:39 ID:???]
自分でビルドすれば?

85 名前:nobodyさん mailto:sage [2008/12/04(木) 14:10:31 ID:???]
$arr=array(15,34,10)
配列の要素の和を求める関数ありますか?
echo 59 の様な感じです。

86 名前:nobodyさん mailto:sage [2008/12/04(木) 14:19:24 ID:???]
>>85
array_sum

87 名前:nobodyさん mailto:sage [2008/12/04(木) 14:21:17 ID:???]
>>86
ありがとうございます。

88 名前:nobodyさん mailto:sage [2008/12/04(木) 18:07:23 ID:???]
PHPは本当にどんな関数でもあるな
perlだったら、いちいち自分で書かないといけない。

89 名前:nobodyさん mailto:sage [2008/12/04(木) 18:20:27 ID:???]
>>88
世の中はPHPとPerlだけではないのだよ?

90 名前:nobodyさん mailto:sage [2008/12/04(木) 18:24:46 ID:???]
PHPはウェブありきで設計された言語だからな
つーか関数多過ぎ

91 名前:nobodyさん mailto:sage [2008/12/04(木) 18:26:39 ID:???]
いやいや少ないだろ・・・



92 名前:nobodyさん mailto:sage [2008/12/04(木) 22:46:59 ID:???]
多いから何なんだろう
学習コストが高い?
優秀な言語?

93 名前:nobodyさん [2008/12/04(木) 23:39:39 ID:ge2NtuW2]
formタグを使って配列を受け渡したいのですが、そういうのってどうしたら良いのでしょうか?

94 名前:nobodyさん [2008/12/05(金) 01:26:39 ID:zoYImp6K]
配列で0〜99まで格納ってわざわざ全部array(で打ち込んでいくしかないですか!?

95 名前:nobodyさん [2008/12/05(金) 01:33:39 ID:jMVHCYUr]
>>94
意図がわからんが、rangeとか?

96 名前:nobodyさん mailto:sage [2008/12/05(金) 01:37:35 ID:???]
日本語でOK
どういう値を渡したいのだ?

97 名前:nobodyさん mailto:sage [2008/12/05(金) 04:44:41 ID:???]
$a=(0-99);

とかでしょ?

98 名前:nobodyさん mailto:sage [2008/12/05(金) 09:25:55 ID:???]
rangeだろ

99 名前:nobodyさん [2008/12/05(金) 16:28:02 ID:fefynmKZ]
csvファイルの15行目から25行目を読み込むみたいな処理をしたいんですが、
こういうファイルの途中から途中までの読み込みって出来ますか?
あるいは、やっぱり一行目から読んでいって、
目的のデータにくるまでは捨てていくしかないでしょうか?

100 名前:nobodyさん mailto:sage [2008/12/05(金) 16:31:02 ID:???]
捨てていくっていう表現はおかしいな
例えばfileで配列に読み込んで
[14]〜[24]までを取り出せばいい
ファイルの中身が膨大でメモリの負担を考えるなら
また別の方法を考えるべきだが

101 名前:nobodyさん mailto:sage [2008/12/05(金) 17:33:46 ID:???]
読み込み位置を変えるseekというものはあるが、
テキストファイルのように1行の長さが不定なものには使えない。



102 名前:nobodyさん mailto:sage [2008/12/05(金) 18:34:07 ID:???]
Googleのように、ログインした後はブラウザを一回閉じても
再度開いたらログイン済になっているような機能を実装したいんですが、
参考になるサイトなど教えて貰えませんでしょうか?

クッキーを使うのかと思ったらGoogleはクッキーオフでも上記動作をしているようです。

こういう機能をなんと呼ぶのかも判らないので名前を教えて貰えるだけでも結構です。

よろしくお願いします。

103 名前:nobodyさん mailto:sage [2008/12/05(金) 19:22:16 ID:???]
>>102
うそつけw
Cookieオンにしろといわれたぞ
IPやホスト名を鯖側で記録しておいて
変化するまで有効にする手なんてのも考えられるが
一般的じゃないしセキュリティ的にも危険

104 名前:101 mailto:sage [2008/12/05(金) 19:38:49 ID:???]
>>103
すいません、Firefoxでやったらエラーでました。

IEでクッキーを受信するときにダイアログを表示するように設定して、
僕のサイトで警告が出るのを確認してからGoogleにログオンしたんですけど
何故かオンになってたみたいです。

クッキー使うって事はユーザー名とか暗号化して記録すれば良いんですね。
ありがとうございました。

105 名前:nobodyさん mailto:sage [2008/12/05(金) 19:53:32 ID:???]
Cookieを使ったセッションだと思うぞ。

106 名前:nobodyさん mailto:sage [2008/12/05(金) 20:20:33 ID:???]
セッションでブラウザ閉じた後情報が保持されるかアフォ

107 名前:nobodyさん mailto:sage [2008/12/05(金) 21:13:25 ID:???]
Cookieの中身を見てみりゃいいのに…

108 名前:nobodyさん [2008/12/05(金) 21:45:22 ID:jMVHCYUr]
>>106
セッションID持たせて有効期限。

109 名前:nobodyさん mailto:sage [2008/12/05(金) 22:26:45 ID:???]
実験してみればわかると思うけど、
クッキーを手動で削除すれば
強制ログアウトさせられるよ

110 名前:nobodyさん [2008/12/06(土) 09:19:14 ID:figaW1Vu]
質問です

携帯サイトのトップページで
ttp://hoge.com/

リンク@←(id=1)
リンクA←(id=2)
リンクB←(id=3)
リンクC←(id=4)
リンクD←(id=5)

と表示し、ttp://hoge.com/?id=1とパラメータをつけて飛んで来た場合

リンクA
リンクB
リンクC
リンクD
リンク@

と、そのidのリンクを一番下へ自動で並び替えるにはどう書いたら良いでしょうか?
よろしくお願いします。

111 名前:nobodyさん mailto:sage [2008/12/06(土) 09:45:43 ID:???]
$url= array("リンク1", "リンク2", ""
$count= count($url);
for ($id=$_GET['id']; $id<$count; $id++){
if ($id >= $count) $id= 1;
$link.= $url[$id];
}

こんなイメージでできそう



112 名前:nobodyさん mailto:sage [2008/12/06(土) 10:09:00 ID:???]
$url = array(1 => "リンク1", 2 => "リンク2", ....
uksort($url, "cmp");
print_r($url);
function cmp ($a, $b)
{
switch ($_GET['id']) {
case $a:
return 1;
case $b:
return -1;
default:
return $a - $b;
}
}

113 名前:110 mailto:sage [2008/12/06(土) 10:23:36 ID:???]
ありがとうございます!!
今から出勤なので帰ってからやってみます。楽しみです
マジ感謝です。

114 名前:nobodyさん [2008/12/06(土) 19:41:46 ID:uHkDvuuY]
onclickのようなイベントハンドラに対してphpのコードを実行させたいのですが、
こういうのってphpではできない感じでしょうか?

具体的にやりたいことは、
ボタンが押される
→Javascriptの関数を呼び出し入力項目をチェック
→良ければ、次のページに渡すphpの変数をセット
→次のページに遷移
って感じです。


115 名前:nobodyさん [2008/12/06(土) 19:44:30 ID:yGRUMO6W]
できる。


116 名前:nobodyさん mailto:sage [2008/12/06(土) 19:48:48 ID:???]
>>115
あれ?
サーバサイドのphpではクライアントサイドのJavascriptみたいにonclickでの
関数呼び出しは出来ないってのは良いですよね?
Javascriptの関数の中でphpを記述するってことですか??

117 名前:nobodyさん mailto:sage [2008/12/06(土) 20:44:44 ID:???]
うん。
ちなみに
>具体的にやりたいことは、
>ボタンが押される
→Javascriptの関数を呼び出し入力項目をチェック
>→良ければ、次のページに渡すphpの変数をセット
>→次のページに遷移
これ読む限りではphpいらないと思うが?

118 名前:nobodyさん mailto:sage [2008/12/06(土) 21:05:23 ID:???]
>>117
なんか自分でもそうやったら出来ないだろうかとやってみたんですが、
エラーコンソールに invalid flag after regular expressionと出てうまくいかないんです。
具体的には以下のように書いていて、
チェックフラグがtrueならそのページで使ったデータを二次元配列から取り除いて、
残りを次のページに渡すデータとするみたいな感じです。

<script type="text/javascript">
function isAllChecked(){
//省略
if(!flag)return false;
<?
global $num,$data;
for($i=0;$i<$num;$i++)array_shift($data);
?>
return true;
}
</script>
//省略
<input type="submit" value="次へ" onclick="return isAllChecked()" />

119 名前:nobodyさん mailto:sage [2008/12/06(土) 21:06:41 ID:???]
javascriptの中にphpコード書いてどうすんの?

120 名前:nobodyさん mailto:sage [2008/12/06(土) 21:08:28 ID:???]
>>114
書かれてるのは、onclickで変数をエンコードしてページを呼び出すだけだよな

もし、onclickでphpのコードを実行した結果をページに反映させたいなら
ajaxの仕組みを利用する。
xajaxってライブラリが実現してるのがその仕組みに近い。
シームレスに関数を呼び出す感じになるよ

121 名前:110 mailto:sage [2008/12/06(土) 22:06:53 ID:???]
何度もすみません
>>111 >>112試してみたのですがうまくできませんでした。
$url = array(
1 => "<a href=\"test1\">test1</a>",
2 => "<a href=\"test2\">test2</a>",
3 => "<a href=\"test3\">test3</a>",
4 => "<a href=\"test4\">test4</a>",
5 => "<a href=\"test5\">test5</a>",
);

if ($_GET['id'] == test1) {
$url1=$url[2];
$url2=$url[3];
$url3=$url[4];
$url4=$url[5];
$url5=$url[1];
} elseif ($_GET['id'] == test2) {
$url1=$url[1];
$url2=$url[3];
$url3=$url[4];
$url4=$url[5];
$url5=$url[2];
〜〜
以下elseifが数個ってな感じでやったのですがもうちょっとシンプルと言うか効率の良いやり方無いでしょうか?



122 名前:nobodyさん mailto:sage [2008/12/06(土) 22:28:18 ID:???]
>>118
それじゃPHPの実行結果がjavascriptの一部と解釈されるだけだ・・・

123 名前:nobodyさん mailto:sage [2008/12/06(土) 22:38:00 ID:???]
>>121
なんというO(n^2)

124 名前:nobodyさん mailto:sage [2008/12/06(土) 23:31:00 ID:???]
>>121
おいおい、意味わかってれば、>>112は動くぜ?
a href= test1ならそれなりに工夫しろよw

125 名前:110 mailto:sage [2008/12/07(日) 02:06:11 ID:???]
>>112が何でこんな動きになるのか理解できませんが思い通りにいけました!
ありがとうございます
お世話になりました〜!!

126 名前:nobodyさん mailto:sage [2008/12/07(日) 22:04:39 ID:???]
PHPの関数の数って全部でいくつあるの?

127 名前:nobodyさん mailto:sage [2008/12/08(月) 00:43:56 ID:???]
約142,000くらい

128 名前:nobodyさん mailto:sage [2008/12/08(月) 01:06:08 ID:???]
マニュアルの関数一覧は5900個
日々拡張されたり廃止されてるから増減するし
マニュアルにのってないのもあるのでなんともいえないな
PEARは各種FWのを含めるとさらに増える
ユーザー定義関数も含めると天文学的な数値になる
(9割型コードがかぶってたりコードは違うが動作が同じのも含む)

実際によく使うのは100個もないので数なんてどうでもいいやね

129 名前:nobodyさん mailto:sage [2008/12/08(月) 01:10:38 ID:???]
6,000もあるのか
全部おぼえようとしていたが、
やる前に質問してよかった。

130 名前:nobodyさん mailto:sage [2008/12/08(月) 01:11:12 ID:???]
それで、
「よく使う100個」の
リストは、どこかにある?

それから優先的に学習していきたい。

131 名前:nobodyさん mailto:sage [2008/12/08(月) 01:13:49 ID:???]
アマゾンでPHPで一番売れている本を買おうと思ったんだけど、
なんでPHPってカテゴリはないの?



132 名前:nobodyさん mailto:sage [2008/12/08(月) 01:14:33 ID:???]
確かに関数多過ぎてうんざりするからよく使うものとうんこ臭いのに分けてほしい

133 名前:nobodyさん mailto:sage [2008/12/08(月) 02:58:26 ID:???]
ソース見りゃいいじゃん

134 名前:nobodyさん mailto:sage [2008/12/08(月) 03:07:52 ID:???]
>>130
やっているうちに覚えていくから心配しなくていいよ
とにかく本でもマニュアルでもいいから順序通りにやっていってみ

135 名前:nobodyさん mailto:sage [2008/12/08(月) 03:13:30 ID:???]
>>134
その作業が死ぬほどつまらんから
聞いているのです

「試験に出る英単語」って本知ってる?

あれは出現頻度順に並べたものなんです

136 名前:nobodyさん mailto:sage [2008/12/08(月) 03:29:01 ID:???]
お前にゃ向いてないから諦めれ

137 名前:nobodyさん mailto:sage [2008/12/08(月) 04:24:39 ID:???]
口よりも手が動かないと・・・

138 名前:nobodyさん mailto:sage [2008/12/08(月) 04:41:01 ID:???]
>>135
似たようなリスト(別スレで見かけたのでコピペ)
ttp://www.1x1.jp/blog/2008/06/php_framework_function_count.html

しかし、英単語だって実用的に使って覚える方が楽だぞ
実用を伴わないで関数を勉強する方が余程ストイックな作業だと思うが


139 名前:nobodyさん mailto:sage [2008/12/08(月) 08:32:40 ID:???]
>>138
>>135じゃないけど
俺は暗記得意だから先に仕様書とかリファレンスに一通り目を通してから実戦のほうが合ってる
結局人それぞれじゃね?

140 名前:nobodyさん mailto:sage [2008/12/08(月) 09:49:20 ID:???]
>「試験に出る英単語」って本知ってる?
あれは出現頻度順に並べたものなんです

試験対策ってことは、当然一通り順序どおりに英文法をマスターしたうえで読む本だよな。
英単語だけ覚えても文章の1つも作れないだろ。
プログラミングだって順序立てて学習するのを避けて関数を覚えようとしても意味がない。

141 名前:nobodyさん mailto:sage [2008/12/08(月) 20:33:26 ID:???]
死ぬほどつまらんならやらなければいいのにね



142 名前:nobodyさん mailto:sage [2008/12/08(月) 20:43:10 ID:???]
しかし、ある程度勉強しないと
何も作れないじゃん

143 名前:nobodyさん mailto:sage [2008/12/08(月) 20:50:23 ID:???]
じゃ勉強すればいいじゃん

144 名前:nobodyさん mailto:sage [2008/12/08(月) 21:11:07 ID:???]
だがプログラミングの勉強はつまらんのだよ。
こういう風に教えてくれよ

jp.youtube.com/watch?v=kzmHmYHy-P8

145 名前:nobodyさん mailto:sage [2008/12/08(月) 21:14:57 ID:???]
じゃやらなきゃいいじゃん

146 名前:nobodyさん mailto:sage [2008/12/08(月) 21:18:11 ID:???]
相手にするだけ時間の無駄だぞ
放置してやれ

147 名前:nobodyさん mailto:sage [2008/12/09(火) 02:09:02 ID:???]
どもども。

<タグ>あうあう</タグ><タグ>あうあう</タグ>ゲロゲロ<タグ>あうあう</タグ>

みたいな文字列からタグの中身をタグも含めて配列に格納していきたいのですが、どうやったらいいのでしょうか。

148 名前:nobodyさん mailto:sage [2008/12/09(火) 02:16:12 ID:???]
XML DOMをつかいましょう!

149 名前:nobodyさん mailto:sage [2008/12/09(火) 02:20:39 ID:???]
>>147
正規表現で抜き出す
jp.php.net/manual/ja/function.preg-match-all.php

150 名前:nobodyさん mailto:sage [2008/12/09(火) 02:42:47 ID:???]
xmlに正規表現てw

151 名前:nobodyさん mailto:sage [2008/12/09(火) 02:50:19 ID:???]
なんでxmlって決め付けてるんだよ



152 名前:nobodyさん mailto:sage [2008/12/09(火) 03:19:03 ID:???]
>>149
できました!

>>148
こんど勉強してみます。

153 名前:nobodyさん mailto:sage [2008/12/09(火) 04:53:11 ID:???]
トップページに検索フォームを用意しておいて
トップページと検索結果ページのレイアウトを全くの別物にしたい場合
GETに中身がなかったらトップページへ
中身があったら検索結果ページへとか言う風にif文でhtmlを丸ごと括って分岐させる感じでいいの?
なんかスマートじゃない気がするんだけど

154 名前:nobodyさん mailto:sage [2008/12/09(火) 05:12:49 ID:???]
検索アクションがあったら中身が空であっても検索結果を出すべきだろ
検索単語を入れるように検索結果のページで促したり
単純にヒットしなかったと検索結果を出すのが普通

155 名前:nobodyさん mailto:sage [2008/12/09(火) 13:03:23 ID:???]
いいことを教えてやろう。

<form action="search.php">

156 名前:nobodyさん mailto:sage [2008/12/09(火) 14:41:55 ID:???]
入力エラーだからlocationヘッダでトップページに返せばいいんじゃない?
できればエラーメッセージつけてかえすと親切だな。

157 名前:nobodyさん mailto:sage [2008/12/09(火) 20:34:24 ID:???]
トップページと同一のファイルで検索結果を表示しようとしてるの?
普通に検索用のスクリプト作ればいいじゃない。


158 名前:nobodyさん mailto:sage [2008/12/09(火) 22:03:51 ID:???]
symfonyで作ったスクリプトって、単体じゃー動かないの?
symfony本体無いと動かない?

上の質問が正解だとすると、レンタルサーバではほぼ使えないですよね?
symfony使えるサーバじゃないと。

159 名前:nobodyさん mailto:sage [2008/12/09(火) 22:10:06 ID:???]
>>158
フレームワークなんだからそれ通さないと動かないに決まってるだろ
PHPのフレームワークなんだからPHPで書かれてるだろ
PHPさえ使えればどの鯖でもつかえるんじゃね?

160 名前:nobodyさん mailto:sage [2008/12/09(火) 22:56:48 ID:???]
よろしければご質問いたします

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

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

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

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

お分かりになるかた、もっといい方法を思いつく方
ご教授を願えたら有り難く思います

161 名前:nobodyさん mailto:sage [2008/12/09(火) 23:00:33 ID:???]
> ご教授を願えたら有り難く思います

「ご教授願えますか」なら兎も角、不思議な日本語。



162 名前:160 mailto:sage [2008/12/09(火) 23:09:26 ID:???]
>>161
早速ご指摘を頂き有り難う御座います

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

お分かりになる方、もっといい方法を思いつく方
ご教授願えますか

163 名前:nobodyさん mailto:sage [2008/12/09(火) 23:15:35 ID:???]
このスレを教授が見てる確率は限りなく低いので
無理でないかと思います
大学で聞くのが一番早いと思うのでそちらをお勧めします

164 名前:160 mailto:sage [2008/12/09(火) 23:21:52 ID:???]
>>163
度々のご指摘ありがとう御座います

正しくは教示の様ですね

>>160>>162に関しまして
お分かりになる方、もっといい方法を思いつく方
ご教示願えますか

165 名前:nobodyさん mailto:sage [2008/12/10(水) 00:15:00 ID:???]
>>164
SQLのクイズ出してるつもりならスレチだよ。
MySQLならgroup_concat(DATE) と group by IDを使って行を取得というのが楽
標準SQLで組もうとすると、ちょっとパズルチックになるからね。
他人が書いた答えは知ってるけど、オリジナルじゃないからググってみることをお勧めする。

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

でもあえて配列を使わないんなら、ORDER BY ID, DATEでクエリの結果セットを
ループしながらifとswitchでテーブル組めば普通にできる。

166 名前:160 mailto:sage [2008/12/10(水) 07:53:28 ID:???]
>>165
ご返答有り難う御座います

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

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

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

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

また別の方法が有りましたら教えていただけると
有り難く思います

167 名前:nobodyさん mailto:sage [2008/12/10(水) 07:54:29 ID:???]
2chでアルゴリズム聞いて実装するとか嫌なインターンだなw

168 名前:nobodyさん mailto:sage [2008/12/10(水) 08:13:18 ID:???]
いや、話を聞いてみるとよくある話。
ちゃんと説明しない嫌な担当だな。

ところで、面白い方法(拡張しないなら冗長だけど)あるよ。
配列もforループも使わない。たぶんifも最小限になる。
RecursiveIteratorIteratorっていうのがあるから、
個人イテレーターを親に日付イテレーターを子に持つようなイテレーターを
定義して、PDOをマップする。日付イテレーターのnext()は次にSQLデータの
有無にかかわらず日付をインクリメントする。
フィルターイテレーターも同時に実装して月別フィルターとか年別フィルター
とか週別フィルターとかも実装する。
テーブルソースの作成部分はデコレーターでデータをラップして文字列化
するようなものにする。
すると、
$obj = new shiftTable(array('scope'=>'month', 'target' => 12));
echo $obj;
で表が自動出力されるようなものが作れる。

169 名前:160 mailto:sage [2008/12/10(水) 08:34:45 ID:???]
>>167
グループ課題の担当している部分なのでグループ全体に
影響が出ないよう早く見当を付けたいと思い質問させていただきました

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

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

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

>>168様の方法も調べて参考にさせて頂きたいと思います
ご返答ありがとうございました

170 名前:nobodyさん mailto:sage [2008/12/10(水) 08:48:49 ID:???]
> 休日テーブルから5と7という値を取得すれば配列に入れなくても
> 画面テーブルの5番目に表示させてから7まで空のセルをつくり
> 7番目でまた表示させることが出来ると言われました

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

もし、フォーム要素なんかが絡むんなら>>168の方法で基本ロジックを作成して
デコレーターでラップするといいんだけど、習得には多少なりとも時間が
かかるかもしれないのでお勧めはしない。

171 名前:nobodyさん mailto:sage [2008/12/10(水) 10:52:26 ID:???]
fromのポストでsubmitのnameの値を取得する方法を教えてください。

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





172 名前:nobodyさん mailto:sage [2008/12/10(水) 11:00:06 ID:???]
$_POST['取得する値']

173 名前:nobodyさん mailto:sage [2008/12/10(水) 11:01:37 ID:???]
もしくは"送信"が限定されてるなら、array_search("送信", $_POST);






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<180KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef