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

私的良スレ書庫

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

元スレ【PHP】ID出さなくても質問OKなスレ【初心者歓迎】

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
401 : nobodyさん - 2008/12/09(火) 16:39:37 ID:??? (+57,+29,-5)
ふざけてるつもりはないですよ。

何も分かんないから聞いていただけです。

sageについては分からなかったのですいませんでした。以後気をつけます。
402 : nobodyさん - 2008/12/09(火) 16:45:58 ID:??? (+107,+29,-19)
>>395
DBをツリー型のことだろザコ
勘違いはおまえ
403 : nobodyさん - 2008/12/09(火) 16:54:04 ID:??? (+52,+29,-14)
ザコ、いい響きだ
404 : nobodyさん - 2008/12/09(火) 17:03:02 ID:??? (+112,+29,-99)
>>402
君が何を勘違いしてるか、
出力はツリーだろ。=>トーナメント表
それをMySQLに保存したいっていう質問だろ。
DBにツリーを表現する構造を作らなくて何をするというの?

LR方式のツリー格納は今のところもっとも効率のいい方法だぜ。
まぁ、どうせ>>395あたりだと、DBは試合結果だけとか、
再帰処理とか、劇重なこと考えてるんだろうけど。
405 : nobodyさん - 2008/12/09(火) 17:04:26 ID:??? (+30,+7,-16)
もうテキストに保存しろよ
406 : nobodyさん - 2008/12/09(火) 17:15:18 ID:??? (+77,+4,-28)
>>404
バカじゃねの?ツリーで出力のとツリー型でデータ格納するのは別だろ
407 : nobodyさん - 2008/12/09(火) 17:22:58 ID:??? (+131,+28,-36)
>>406
ツリー型でデータ格納って何言ってるかわかってぇみたいだなw

代案示してみろよw
408 : nobodyさん - 2008/12/09(火) 17:24:21 ID:??? (+57,+29,-20)
モデリングを理解できないレベルのPG厨にそこまで熱くならなくても・・・
409 : nobodyさん - 2008/12/09(火) 17:38:48 ID:??? (+57,+29,-6)
あれだよ、無知の為にコード晒してギャフンと言わせるしかない
410 : nobodyさん - 2008/12/09(火) 17:49:19 ID:??? (+57,+29,-20)
ぼくちゃん、晒す度胸があったら、ザコとか無知とか言わないでちゅw
411 : nobodyさん - 2008/12/09(火) 18:10:52 ID:??? (+71,+29,-33)
>>407
wがついてる時点でテンパッテルように見受けられますが?
412 : nobodyさん - 2008/12/09(火) 18:31:46 ID:??? (+69,+28,+0)
>>407
落ち着け、日本語で書け
413 : nobodyさん - 2008/12/09(火) 18:48:28 ID:??? (+36,-29,-264)
>>396
http://www.sitepoint.com/article/hierarchical-data-database/
これの、日本語訳相当のもの、あったよ。
http://www.mysql.gr.jp/mysqlml/mysql/msg/12071
図を参照するならここ
http://dev.mysql.com/tech-resources/articles/hierarchical-data.html

要約すると、トーナメント表のようにツリー概念をフラットなテーブルで表現するには
Adjacency List モデルとネストセットモデルがある。
Adjacency List モデルは親子を登録しておいて再帰で取りに行く形で
すぐにおもいついて実装はすぐできるが、パフォーマンス的に無駄があるし大量のデータは扱えない。
ネストセットモデル(>>404氏が書いてるLR方式)の方が検索性に優れている。
ネストセットモデルの更新は若干トリッキーなので更新中はロックを正しく実装する必要がある。

カテゴリー管理などツリー構造を扱うときはネストセットモデルがFAなので、
覚えておいて損はないよ。
414 : nobodyさん - 2008/12/09(火) 18:59:25 ID:??? (+57,+29,-10)
XML形式のデータをフラットに書き下す時もネストセットモデルだよね。
もしこれよりうまいモデリング手法があるんなら俺も知りたい。
415 : nobodyさん - 2008/12/09(火) 19:04:23 ID:??? (+57,+29,-8)
検索性に優れるのは衝突を限りなく無視できるハッシュ法だ
416 : nobodyさん - 2008/12/09(火) 19:09:18 ID:??? (+62,+29,-106)
ハッシュで検索が効率がいいのは、ターゲットが限られているとき。
特定ノード配下から条件指定で検索など、実用コードを書いたら一気に重くなる。
もしくは、全データをメモリに読み込むとか、Web用としては使えんと思うが、
ハッシュで実用的なツリー構造を扱う新理論でもお持ちで?
417 : nobodyさん - 2008/12/09(火) 19:13:34 ID:??? (+57,+29,-15)
ないよ
10年後ぐらいには実用になるさ
418 : nobodyさん - 2008/12/09(火) 19:14:59 ID:??? (+19,+1,-1)
おいw
419 : nobodyさん - 2008/12/09(火) 19:15:25 ID:??? (+51,+28,+0)
次の初心者さん、どうぞ
420 : nobodyさん - 2008/12/09(火) 19:17:37 ID:??? (+57,+29,-3)
トーナメント表なのに難しく考えすぎてないかね
421 : nobodyさん - 2008/12/09(火) 19:21:27 ID:??? (+91,+29,-24)
データの探索アルゴリズムと格納法の話がごっちゃになってないか
422 : nobodyさん - 2008/12/09(火) 19:22:11 ID:??? (+63,+30,-83)
トーナメント表をDBでやりたいってことはさ。
甲子園なんかで、決勝進出チームが、本大会、県大会で戦ったチームのうち
左ピッチャーからどのくらい打って何点差で勝てたかとか、
過去のデータを蓄積してデータ検索をサクっとやりたいわけでしょ。
高度な部類だと思うけど、違うのかな?
423 : nobodyさん - 2008/12/09(火) 19:24:36 ID:??? (+70,+29,-26)
>>421
ごっちゃっていうより表裏一体でしょ。
格納あっての探索。探索を考慮しての格納じゃなくて?
424 : nobodyさん - 2008/12/09(火) 20:02:49 ID:oaG+U8nz (+66,+29,+0)
>>413
わざわざ丁寧に教えて頂きありがとうございました。
425 : nobodyさん - 2008/12/09(火) 20:17:02 ID:??? (+57,+29,-17)
もう全部ファイル書き出して検索はグーグル先生に頼れよ
426 :   - 2008/12/09(火) 23:48:38 ID:??? (-6,-29,-4)
WWW_JAILって何ですか?
427 : nobodyさん - 2008/12/09(火) 23:54:36 ID:??? (+100,+29,-6)
>>424
「教えて下さり」じゃないか?
428 : nobodyさん - 2008/12/10(水) 00:06:02 ID:??? (+71,+29,-43)
>>427
スレ違いの質問でしょうか?

確かに
教えて下さりありがとうございました

または
教えて頂きありがたくおもいます

が正確なのかも知れませんね
429 : 387 - 2008/12/10(水) 01:13:56 ID:??? (+61,+29,-16)
>>388
完璧な回答、ありがとうございます!。プロパティの中にあったんですね!

430 : nobodyさん - 2008/12/10(水) 15:57:45 ID:??? (+16,-29,-29)
WEB上のテキストフィールドで入力した値を、HTMLの変数Cに格納したいのですが、
どうすれば良いのでしょうか・・・・?
431 : nobodyさん - 2008/12/10(水) 16:29:06 ID:??? (+3,-30,-109)
<form method="post">
<?php
$data = '';
$fieldName = 0;
do {
$data .= array_key_exists($fieldName, $_POST) ? $_POST[$fieldName] : "nodata";
echo "<input type=\"text\" name=\"{$fieldName}\" value=\"" . htmlspecialchars($data) . "\" />";
} while( $_POST && error_log("posted value is " . $fieldName++ . ":" . $data));
?>
</form>
432 : nobodyさん - 2008/12/10(水) 17:20:41 ID:??? (+28,-1,-2)
>>430
HTMLの変数ってなんですか?
433 : nobodyさん - 2008/12/10(水) 18:06:52 ID:??? (+6,-16,-4)
htmlはプログラミング言語です
434 : nobodyさん - 2008/12/10(水) 19:32:34 ID:??? (+46,+23,+1)
HTMLがあれば何でも出来る
435 : nobodyさん - 2008/12/10(水) 20:01:00 ID:??? (-6,-29,-13)
htmlはCを超えます
436 : nobodyさん - 2008/12/10(水) 20:15:34 ID:??? (+62,+29,-44)
質問させて頂きたいのですが

PHPプログラムの中で連続してMySQLへデータを書き込みたい場合
どのように記述すれば良いのでしょうか?

例えば指定条件のデータを一度消去してから
改めて幾つかのデータを入れなおすなど

お分かりになる方よろしくお願いいたします
437 : nobodyさん - 2008/12/10(水) 20:16:40 ID:??? (+52,+24,-4)
消去するプログラムのあとに書き込むプログラムを書く
438 : nobodyさん - 2008/12/10(水) 22:08:32 ID:??? (+9,-30,-97)
関数の戻り値が配列の場合での質問なのですが
class hogehoge {
private $hoge = array("1", "2", "3");

public function getHoge(){
return $this->hoge;
}
}

$hogehoge = new hogehoge();
$hogehoge->getHoge()[1];
のように関数の戻り値の配列の要素を1行で取得はできないのでしょうか?
439 : nobodyさん - 2008/12/10(水) 22:11:01 ID:??? (-1,-29,-15)
getHogeの引数で返せばいいんじゃない
440 : nobodyさん - 2008/12/11(木) 09:37:39 ID:??? (+3,-30,-144)
syntax error, unexpected ';'で困ってるんですけど、
どこかおかしいです?
$this->smarty_obj->assign('date_trackbacks_url',spriunf(TEXT_TRACKBACKS_URL, htmlspecialchars(td_get_trackbacks_url(intval($HTTP_GET_VARS['products_id'])), ENT_QUOTES));
441 : nobodyさん - 2008/12/11(木) 09:48:57 ID:??? (+62,+29,-7)
括弧の数も数えられないなら、一行をそんなに長くするなw
442 : nobodyさん - 2008/12/11(木) 09:49:20 ID:??? (+43,+25,+0)
かっこの数
443 : nobodyさん - 2008/12/11(木) 10:47:01 ID:??? (+4,-30,-134)
>>438
構文解析周りが貧弱なので出来ません
array の代わりに ArrayObject を使い、俗に言うメソッドチェインでアクセスする、
またはプロパティ限定でよかったら __get マジックメソッドで代用できます

class Hoge {
  private $hoge = array(1, 2, 3);
  public function __get($name) {
    return $this->$name;
  }
}

$hoge = new Hoge();
echo $hoge->hoge[1];
444 : nobodyさん - 2008/12/11(木) 11:03:02 ID:??? (+26,-30,-89)
こんな感じね
class hogehoge {
private $hoge = array("1", "2", "3");

public function getHoge(){
return new ArrayObject($this->hoge);
}
}
$hogehoge = new hogehoge();
$ahoge->getHoge()->offsetGet(1);
// $ahoge[1]としてもアクセス可能
445 : nobodyさん - 2008/12/11(木) 11:10:35 ID:??? (+40,+13,+0)
>>444
動かないよw
446 : nobodyさん - 2008/12/11(木) 12:43:41 ID:??? (+40,-29,+0)
>>441-442
thx!解決しました。
447 : nobodyさん - 2008/12/11(木) 20:04:24 ID:??? (+59,-30,-72)
テーブル内に
フィールドが2つ japa, engl 行1 a, a 行2 i, b 行3 u, c 行4 e, d 行5 o, e
みたいに入っていたとして
$data = mysql_array(上のテーブルから情報)みたいにMySQLから取得したデータを配列に入れた場合には
フィールド名も含めてどのような形で配列に入っているのでしょうか?

さらにフィールドjapaを選択して頭からa, i, u, e, oと取り出すように
その配列の特定のフィールドだけを選択して次々にデータを取り出す方法は有るのでしょうか

どなたか教えていただけ無いでしょうか
448 : nobodyさん - 2008/12/11(木) 20:14:18 ID:??? (+66,-29,-5)
assign()内で、include出来ますか?
ググっても浅いところでは情報を拾えないみたいなので、
よろしくお願いします。
449 : nobodyさん - 2008/12/11(木) 20:20:40 ID:??? (+75,+29,-55)
>>447
普通は、行レベルでアクセスして順に取得する。
データベースアクセスの基本だから、基本的なサンプルはみんなそうなってる
しかし、工夫すれば、一気に取り出すことも不可能でないが、
内部的にはほとんど同じことなので、行レベルで処理した方が無難

>>448
できる
450 : 447 - 2008/12/11(木) 20:39:36 ID:??? (+50,-30,-74)
>>449
ありがとうございます

それぞれのフィールドの値を別のところで使うので一度の方が良いと思いました
そうしますと
$japaData = mysql_fitch_array()
$englData = mysql_fitch_array()
みたいに2回に分けてデータを取得し2つに分けると良いという事でしょうか?
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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