toshimaru_e 2012-11-27 17:26:13

[PHP] がんばって取得した結果をさらにforeach,forで回す このエントリーをはてなブックマークに追加

投稿者からのアピールポイント

あるボタンを押すと画面が真っ白になるので調べてみると、このコードが出てきました。だいぶ簡潔に書きましたが、実コードは1つのfuncitonが150行くらいになってました。results、otherResultsの両変数は数万件のデータをDBから引っ張ってきてます。

<?php

function getResults() {
	$results = $this->findAll();
	$otherResults = $this->findAll2();

	foreach ($results as $key => $val) {
		$results1 = findById($val['id_1']);
		$results[$key]['name_1'] = $results1[0]['name'];

		$results2 = findById($val['id_2']);
		$results[$key]['name_2'] = $results2[0]['name'];
	}

	for ($i = 0; $i < count($results); $i++) {
		$items = array('maguro', 'ikura', 'uni');
		foreach ($items as $item) {
			$results[$i][$item] = $otherResults[$results[$i]['id']][$item];
		}
	}

	return $results;
}

コメント(3)

#1 m_shige1979 2012-11-29 03:17:44  

foreachからforになぜ移行したのか?

#2 setsumeisabakan 2012-12-02 15:36:32  

そもそもまず全行全桁取得するなと…というか、DBの仕事をアプリ側でしかもループで強行するなと

#3 Miraranran 2012-12-03 21:29:59  

これの作者は where と order by を覚えるところから...


このウンコードに臭った人は、こちらのウンコードにも臭ってます

[PHP] データベースに・・・・うわぁぁぁぁぁあ

このエントリーをはてなブックマークに追加

例外って何だろう。SQLってなんだろう。...

// DBに接続
$pdo = new PDO($dsn,$user,$pas...

鑑賞する »

[PHP] DB接続の無駄遣い

このエントリーをはてなブックマークに追加

Webサイトへのアクセス数の割にDB接続...

//DBクラス
class DB {
  function __constr...

鑑賞する »

[PHP] 月末きんもーっ☆

このエントリーをはてなブックマークに追加

2012/02/31とか、古代から培って...

if(mb_strlen($m) == 1){
    $m = '0'.$m...

鑑賞する »