Weitere ähnliche Inhalte
Ähnlich wie 第7回社内勉強会「Code Sucks - 人の振り見て我が振り直せ」 (20)
Mehr von Hiromu Shioya (20)
第7回社内勉強会「Code Sucks - 人の振り見て我が振り直せ」
- 5. 月の最終日を取得したいらしい // 検索月の末日を取得 switch( $s_month ) { case 2: $last_day = 28; if ( ( $year % 4 ) == 0 ) { $last_day = 29; } break;
- 8. コードをもう一度 // 検索月の末日を取得 switch( $s_month ) { case 2: $last_day = 28; if ( ( $year % 4 ) == 0 ) { $last_day = 29; } break;
- 10. 二段オチ $today = time(); $s_year = date( "Y", $today); $s_month = date( "m", $today); $s_day = 1; $e_year = date( "Y", $today); $e_month = date( "m", $today); // 検索月の末日を取得 switch( $s_month ) { case 2: $last_day = 28; if ( ( $year % 4 ) == 0 ) { $last_day = 29; } break; } $ php -r "var_dump ( $year ) ; " NULL $ php -r "echo NULL % 4 ; " 0 ↓ 毎年閏年になるじゃん
- 11. 正解は $last_day = date("t") ; http://jp2.php.net/manual/ja/function.date.php
- 15. テーブルをチェックしてみた mysql> describe item_master ; +--------------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------------+---------+------+-----+---------+-------+ | item_id | int(11) | NO | | NULL | | | column_type | int(11) | NO | | NULL | | | column_value | text | YES | | NULL | | +--------------+---------+------+-----+---------+-------+ _, ._ (;゚ Д ゚)
- 16. データをチェックしてみた mysql> SELECT * FROM item_master ; ( ゚ д ゚ ) ( つ д⊂) ゴシゴシ ( ;゚ д ゚ ) ( つ д⊂) ゴシゴシ _, ._ (;゚ Д ゚) …? ! ( つ д⊂) ゴシゴシゴシゴシゴシ ( ; Д ) !!
- 18. ロジックをチェックしてみた // $result には表示対象の商品コードが入っている while ($data = mysql_fetch_array($result)) { for ($i = 0 ; $i < count($column_names) ; $i ++) { $sql = "SELECT * FROM item_master" . " WHERE item_id = {$data['item_id']}" . " AND column_type = {$i}" ; $ret = mysql_query($sql) ; $item = mysql_fetch_array($ret) ; echo "<td>{$column_names[$item['column_type']]}</td>" ; echo "<td>{$item['column_value']}</td>" ; } }
- 22. コネタその1 if( $order == _SER_ORDER_LAST_ ) { // 前日閲覧数順 } elseif( $order == _SER_ORDER_NEW_ ) { // 新着順 } elseif( $order == _SER_ORDER_FAV_ ) { // 登録数順 } else { // 更新順 } switch – case を 使え!!
- 23. コネタその2 // $iRecCnt( レコード数 ) が1以外なら // 不正アクセスらしい。 if($iRecCnt>1){ $strAttentMessage = " 不正なアクセスです。 "; } if($iRecCnt==0){ $strAttentMessage = " 不正なアクセスです。 "; } $iRecCnt != 1 じゃ ダメなの?
- 24. コネタその3 // 取ってきたレコードを変数展開したいらしい。 $sorter = $aRecData[0][c_sorter]; $page_title = $aRecData[0][c_page_title]; $page_content = $aRecData[0][c_page_content]; $mailflg = $aRecData[0][c_mail]; $signflg = $aRecData[0][c_sign]; $backlink = $aRecData[0][c_backlink]; $name = $aRecData[0][tname]; $cl_bg = $aRecData[0][color_bg]; $cl_text = $aRecData[0][color_text]; $cl_link = $aRecData[0][color_link]; $cl_vlink = $aRecData[0][color_vlink]; $cl_hr = $aRecData[0][color_hr]; $cl_title = $aRecData[0][color_title]; extract($aRecData[0]) ; じゃ ダメなの?
- 25. コネタその4 (1/3) // なんだかいろんなコネクションがある。 // INSERT 祭りが始まるようだ。 $conn->begin_trans(); $conn_sub->begin_trans(); $conn_s->begin_trans(); $conn_msg->begin_trans(); $conn_ad->begin_trans(); $conn_foo->begin_trans() ; $conn_bar->begin_trans() ;
- 26. コネタその4 (2/3) // ちょっと行数が多くて心が折れそうだが、 // 処理にしくじったらロールバックさせたいようだ。 if(!$conn->execute($strQue)) { $conn->rollback(); $conn_sub->rollback(); $conn_s->rollback(); $conn_msg->rollback(); $conn_ad->rollback(); $conn_foo->rollback() ; $conn_bar->rollback() ; db_regist_error($conn); }