チェンジセット 94: trunk/install/php/index.php

差分発生行の前後
無視リスト:
コミット日時:
2010/02/28 22:28:26 (14 年前)
コミッタ:
sorshi
ログメッセージ:

SQLite採用

ファイル:

凡例:

変更無し
追加
削除
更新
コピー
移動
  • trunk/install/php/index.php

    r83 r94  
    6767WHERE foltia_tvrecord.tid = foltia_program.tid  
    6868AND foltia_program.tid = foltia_subtitle.tid  
    69 AND foltia_subtitle.enddatetime >= '$now'  
     69AND foltia_subtitle.enddatetime >= ?  
    7070ORDER BY \"startdatetime\" ASC  
    7171LIMIT 1000 
    7272        "; 
    73         $reservedrssametid = m_query($con, $query, "DBクエリに失敗しました"); 
    74         $reservedmaxrowssameid = pg_num_rows($reservedrssametid); 
    75          
    76         if ($reservedmaxrowssameid > 0 ){ 
    77         for ($rrow = 0; $rrow < $reservedmaxrowssameid ; $rrow++) { 
    78                 $rowdata = pg_fetch_row($reservedrssametid, $rrow); 
     73//      $reservedrssametid = m_query($con, $query, "DBクエリに失敗しました"); 
     74$reservedrssametid = sql_query($con, $query, "DBクエリに失敗しました",array($now)); 
     75$rowdata = $reservedrssametid->fetch(); 
     76if ($rowdata) { 
     77        do { 
    7978                $reservedpidsametid[] = $rowdata[7]; 
    80         } 
     79        } while ($rowdata = $reservedrssametid->fetch()); 
     80 
    8181        $rowdata = ""; 
    82         $rrow = "";  
    8382        }else{ 
    84         $reservedpidsametid = ""
     83        $reservedpidsametid = array()
    8584        }//end if 
     85$reservedrssametid->closeCursor(); 
    8686 
    8787//録画番組検索 
    8888$query = " 
    8989SELECT 
    90 foltia_program .tid, 
    91 stationname, 
    92 foltia_program .title, 
    93 foltia_subtitle.countno, 
    94 foltia_subtitle.subtitle, 
    95 foltia_subtitle.startdatetime , 
    96 foltia_subtitle.lengthmin , 
    97 foltia_tvrecord.bitrate , 
    98 foltia_subtitle.pid   
     90 foltia_program.tid, stationname, foltia_program.title, 
     91 foltia_subtitle.countno, foltia_subtitle.subtitle, 
     92 foltia_subtitle.startdatetime as x, foltia_subtitle.lengthmin, 
     93 foltia_tvrecord.bitrate, foltia_subtitle.pid 
    9994FROM foltia_subtitle , foltia_program ,foltia_station ,foltia_tvrecord 
    10095WHERE foltia_tvrecord.tid = foltia_program.tid AND foltia_tvrecord.stationid = foltia_station .stationid AND foltia_program.tid = foltia_subtitle.tid AND foltia_station.stationid = foltia_subtitle.stationid 
     
    10297UNION 
    10398SELECT 
    104 foltia_program .tid, 
    105 stationname, 
    106 foltia_program .title, 
    107 foltia_subtitle.countno, 
    108 foltia_subtitle.subtitle, 
    109 foltia_subtitle.startdatetime , 
    110 foltia_subtitle.lengthmin , 
    111 foltia_tvrecord.bitrate , 
    112 foltia_subtitle.pid   
     99 foltia_program.tid, stationname, foltia_program.title, 
     100 foltia_subtitle.countno, foltia_subtitle.subtitle, 
     101 foltia_subtitle.startdatetime, foltia_subtitle.lengthmin, 
     102 foltia_tvrecord.bitrate, foltia_subtitle.pid 
    113103FROM foltia_tvrecord 
    114104LEFT OUTER JOIN foltia_subtitle on (foltia_tvrecord.tid = foltia_subtitle.tid ) 
     
    116106LEFT OUTER JOIN foltia_station on (foltia_subtitle.stationid = foltia_station.stationid ) 
    117107WHERE foltia_tvrecord.stationid = 0 AND 
    118 foltia_subtitle.enddatetime >= '$now' ORDER BY \"startdatetime\" ASC  
    119 LIMIT 1000 
    120         "; 
    121  
    122         $reservedrs = m_query($con, $query, "DBクエリに失敗しました"); 
    123         $reservedmaxrows = pg_num_rows($reservedrs); 
    124          
    125         if ($reservedmaxrows > 0 ){ 
    126         for ($rrow = 0; $rrow < $reservedmaxrows ; $rrow++) { 
    127                 $rowdata = pg_fetch_row($reservedrs, $rrow); 
     108 foltia_subtitle.enddatetime >= '$now' ORDER BY x ASC 
     109LIMIT 1000 
     110        "; 
     111 
     112//$reservedrs = m_query($con, $query, "DBクエリに失敗しました"); 
     113$query = " 
     114SELECT 
     115 foltia_program.tid, stationname, foltia_program.title, 
     116 foltia_subtitle.countno, foltia_subtitle.subtitle, 
     117 foltia_subtitle.startdatetime as x, foltia_subtitle.lengthmin, 
     118 foltia_tvrecord.bitrate, foltia_subtitle.pid 
     119FROM foltia_subtitle , foltia_program ,foltia_station ,foltia_tvrecord 
     120WHERE foltia_tvrecord.tid = foltia_program.tid AND foltia_tvrecord.stationid = foltia_station .stationid AND foltia_program.tid = foltia_subtitle.tid AND foltia_station.stationid = foltia_subtitle.stationid 
     121AND foltia_subtitle.enddatetime >= ?  
     122UNION 
     123SELECT 
     124 foltia_program.tid, stationname, foltia_program.title, 
     125 foltia_subtitle.countno, foltia_subtitle.subtitle, 
     126 foltia_subtitle.startdatetime, foltia_subtitle.lengthmin, 
     127 foltia_tvrecord.bitrate, foltia_subtitle.pid 
     128FROM foltia_tvrecord 
     129LEFT OUTER JOIN foltia_subtitle on (foltia_tvrecord.tid = foltia_subtitle.tid ) 
     130LEFT OUTER JOIN foltia_program on (foltia_tvrecord.tid = foltia_program.tid ) 
     131LEFT OUTER JOIN foltia_station on (foltia_subtitle.stationid = foltia_station.stationid ) 
     132WHERE foltia_tvrecord.stationid = 0 AND 
     133 foltia_subtitle.enddatetime >= ? ORDER BY x ASC 
     134LIMIT 1000 
     135        "; 
     136$reservedrs = sql_query($con, $query, "DBクエリに失敗しました",array($now,$now)); 
     137 
     138$rowdata = $reservedrs->fetch(); 
     139if ($rowdata) { 
     140        do { 
    128141                $reservedpid[] = $rowdata[8]; 
    129         } 
     142        } while ($rowdata = $reservedrs->fetch()); 
    130143        }else{ 
    131         $reservedpid = ""
     144        $reservedpid = array()
    132145        }//end if 
    133146 
     
    138151        $query = " 
    139152        SELECT  
    140 foltia_program .tid, 
    141 stationname, 
    142 foltia_program .title, 
    143 foltia_subtitle.countno, 
    144 foltia_subtitle.subtitle, 
    145 foltia_subtitle.startdatetime , 
    146 foltia_subtitle.lengthmin  ,  
    147 foltia_subtitle.pid , 
    148 foltia_subtitle.startoffset    
     153 foltia_program.tid, stationname, foltia_program.title, 
     154 foltia_subtitle.countno, foltia_subtitle.subtitle, 
     155 foltia_subtitle.startdatetime, foltia_subtitle.lengthmin, 
     156 foltia_subtitle.pid, foltia_subtitle.startoffset 
    149157FROM foltia_subtitle , foltia_program ,foltia_station   
    150158WHERE foltia_program.tid = foltia_subtitle.tid AND foltia_station.stationid = foltia_subtitle.stationid  
     
    153161LIMIT 1000 
    154162        "; 
    155         $rs = m_query($con, $query, "DBクエリに失敗しました"); 
    156         $maxrows = pg_num_rows($rs); 
    157  
    158  
     163$query = " 
     164        SELECT  
     165 foltia_program.tid, stationname, foltia_program.title, 
     166 foltia_subtitle.countno, foltia_subtitle.subtitle, 
     167 foltia_subtitle.startdatetime, foltia_subtitle.lengthmin, 
     168 foltia_subtitle.pid, foltia_subtitle.startoffset 
     169FROM foltia_subtitle , foltia_program ,foltia_station   
     170WHERE foltia_program.tid = foltia_subtitle.tid AND foltia_station.stationid = foltia_subtitle.stationid  
     171 AND foltia_subtitle.enddatetime >= ?  AND foltia_subtitle.countno = '1'  
     172ORDER BY foltia_subtitle.startdatetime  ASC  
     173LIMIT 1000 
     174        "; 
    159175}else{ 
    160        $query = " 
     176$query = " 
    161177        SELECT  
    162 foltia_program .tid, 
    163 stationname, 
    164 foltia_program .title, 
    165 foltia_subtitle.countno, 
    166 foltia_subtitle.subtitle, 
    167 foltia_subtitle.startdatetime , 
    168 foltia_subtitle.lengthmin ,  
    169 foltia_subtitle.pid  ,  
    170 foltia_subtitle.startoffset    
     178 foltia_program.tid, stationname, foltia_program.title, 
     179 foltia_subtitle.countno, foltia_subtitle.subtitle, 
     180 foltia_subtitle.startdatetime, foltia_subtitle.lengthmin, 
     181 foltia_subtitle.pid, foltia_subtitle.startoffset 
    171182FROM foltia_subtitle , foltia_program ,foltia_station   
    172183WHERE foltia_program.tid = foltia_subtitle.tid AND foltia_station.stationid = foltia_subtitle.stationid  
     
    175186LIMIT 1000 
    176187        "; 
    177         $rs = m_query($con, $query, "DBクエリに失敗しました"); 
    178         $maxrows = pg_num_rows($rs); 
    179  
     188$query = " 
     189        SELECT  
     190 foltia_program.tid, stationname, foltia_program.title, 
     191 foltia_subtitle.countno, foltia_subtitle.subtitle, 
     192 foltia_subtitle.startdatetime, foltia_subtitle.lengthmin, 
     193 foltia_subtitle.pid, foltia_subtitle.startoffset 
     194FROM foltia_subtitle , foltia_program ,foltia_station   
     195WHERE foltia_program.tid = foltia_subtitle.tid AND foltia_station.stationid = foltia_subtitle.stationid  
     196 AND foltia_subtitle.enddatetime >= ?   
     197ORDER BY foltia_subtitle.startdatetime  ASC  
     198LIMIT 1000 
     199        "; 
    180200}//end if 
    181201 
    182 if ($maxrows == 0) { 
     202//$rs = m_query($con, $query, "DBクエリに失敗しました"); 
     203$rs = sql_query($con, $query, "DBクエリに失敗しました",array($now)); 
     204$rowdata = $rs->fetch(); 
     205if (! $rowdata) { 
    183206header("Status: 404 Not Found",TRUE,404); 
    184207printtitle(); 
     
    211234<? 
    212235                /* フィールド数 */ 
    213                $maxcols = pg_num_fields($rs); 
     236    $maxcols = $rs->columnCount(); 
    214237                ?> 
    215238  <table BORDER="0" CELLPADDING="0" CELLSPACING="2" WIDTH="100%"> 
     
    230253                <?php 
    231254                        /* テーブルのデータを出力 */ 
    232                         for ($row = 0; $row < $maxrows; $row++) { /* 行に対応 */ 
    233                                 /* pg_fetch_row で一行取り出す */ 
    234                                 $rowdata = pg_fetch_row($rs, $row); 
    235  
     255     do { 
    236256//他局で同一番組録画済みなら色変え 
    237257if (in_array($rowdata[7], $reservedpidsametid)) { 
     
    283303 
    284304                                echo("</tr>\n"); 
    285                         } 
     305     } while ($rowdata = $rs->fetch()); 
    286306                ?> 
    287307        </tbody> 
track feed