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

SQLite採用

ファイル:

凡例:

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

    r90 r94  
    6262        $query = " 
    6363SELECT 
    64 foltia_program .tid, 
    65 stationname, 
    66 foltia_program .title, 
    67 foltia_subtitle.countno, 
    68 foltia_subtitle.subtitle, 
    69 foltia_subtitle.startdatetime , 
    70 foltia_subtitle.lengthmin , 
    71 foltia_tvrecord.bitrate  ,  
    72 foltia_subtitle.startoffset ,  
    73 foltia_subtitle.pid ,  
    74 foltia_subtitle.epgaddedby ,  
     64 foltia_program.tid, stationname, foltia_program.title, 
     65 foltia_subtitle.countno, foltia_subtitle.subtitle, 
     66 foltia_subtitle.startdatetime as x, foltia_subtitle.lengthmin, 
     67 foltia_tvrecord.bitrate, foltia_subtitle.startoffset, 
     68 foltia_subtitle.pid, foltia_subtitle.epgaddedby, 
    7569foltia_tvrecord.digital  
    7670FROM foltia_subtitle , foltia_program ,foltia_station ,foltia_tvrecord 
    7771WHERE 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 
    78 AND foltia_subtitle.enddatetime >= '$now' 
     72AND foltia_subtitle.enddatetime >= ?  
    7973UNION 
    8074SELECT 
    81 foltia_program .tid, 
    82 stationname, 
    83 foltia_program .title, 
    84 foltia_subtitle.countno, 
    85 foltia_subtitle.subtitle, 
    86 foltia_subtitle.startdatetime , 
    87 foltia_subtitle.lengthmin , 
    88 foltia_tvrecord.bitrate ,  
    89 foltia_subtitle.startoffset ,  
    90 foltia_subtitle.pid ,  
    91 foltia_subtitle.epgaddedby ,  
     75 foltia_program.tid, stationname, foltia_program.title, 
     76 foltia_subtitle.countno, foltia_subtitle.subtitle, 
     77 foltia_subtitle.startdatetime, foltia_subtitle.lengthmin, 
     78 foltia_tvrecord.bitrate,  foltia_subtitle.startoffset, 
     79 foltia_subtitle.pid,  foltia_subtitle.epgaddedby, 
    9280foltia_tvrecord.digital  
    9381FROM foltia_tvrecord 
     
    9684LEFT OUTER JOIN foltia_station on (foltia_subtitle.stationid = foltia_station.stationid ) 
    9785WHERE foltia_tvrecord.stationid = 0 AND 
    98 foltia_subtitle.enddatetime >= '$now' ORDER BY \"startdatetime\" ASC 
     86 foltia_subtitle.enddatetime >= ? ORDER BY x ASC 
    9987        "; 
    10088 
    101         $rs = m_query($con, $query, "DBクエリに失敗しました"); 
    102         $maxrows = pg_num_rows($rs); 
    103                          
     89//      $rs = m_query($con, $query, "DBクエリに失敗しました"); 
     90        $rs = sql_query($con, $query, "DBクエリに失敗しました",array($now,$now)); 
    10491 
    10592//チューナー数 
     
    122109 
    123110<? 
    124         if ($maxrows == 0) { 
     111     $rowdata = $rs->fetch(); 
     112     if (! $rowdata) { 
    125113                print "番組データがありません<BR>\n";                       
    126114                }else{ 
    127  
    128  
    129115                /* フィールド数 */ 
    130                $maxcols = pg_num_fields($rs); 
     116             $maxcols = $rs->columnCount(); 
    131117                ?> 
    132118  <table BORDER="0" CELLPADDING="0" CELLSPACING="2" WIDTH="100%"> 
     
    149135                <?php 
    150136                        /* テーブルのデータを出力 */ 
    151                        for ($row = 0; $row < $maxrows; $row++) { /* 行に対応 */ 
     137                  do { 
    152138                                echo("<tr>\n"); 
    153                                 /* pg_fetch_row で一行取り出す */ 
    154                                 $rowdata = pg_fetch_row($rs, $row); 
     139 
    155140$pid = htmlspecialchars($rowdata[9]); 
    156141 
     
    168153$query = " 
    169154SELECT 
    170 foltia_program .tid, 
    171 stationname, 
    172 foltia_program .title, 
    173 foltia_subtitle.countno, 
    174 foltia_subtitle.subtitle, 
    175 foltia_subtitle.startdatetime , 
    176 foltia_subtitle.lengthmin , 
    177 foltia_tvrecord.bitrate  ,  
    178 foltia_subtitle.startoffset ,  
    179 foltia_subtitle.pid  ,  
    180 foltia_tvrecord.digital  
     155 foltia_program.tid, stationname, foltia_program.title, 
     156 foltia_subtitle.countno, foltia_subtitle.subtitle, 
     157 foltia_subtitle.startdatetime, foltia_subtitle.lengthmin, 
     158 foltia_tvrecord.bitrate, foltia_subtitle.startoffset, 
     159 foltia_subtitle.pid, foltia_tvrecord.digital 
    181160FROM foltia_subtitle , foltia_program ,foltia_station ,foltia_tvrecord 
    182161WHERE 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 
    183 AND foltia_subtitle.enddatetime > '$rowdata[5]'  
    184 AND foltia_subtitle.startdatetime < '$endtime'   
     162AND foltia_subtitle.enddatetime > ?  
     163AND foltia_subtitle.startdatetime < ?   
    185164UNION 
    186165SELECT 
    187 foltia_program .tid, 
    188 stationname, 
    189 foltia_program .title, 
    190 foltia_subtitle.countno, 
    191 foltia_subtitle.subtitle, 
    192 foltia_subtitle.startdatetime , 
    193 foltia_subtitle.lengthmin , 
    194 foltia_tvrecord.bitrate  ,  
    195 foltia_subtitle.startoffset ,  
    196 foltia_subtitle.pid ,  
    197 foltia_tvrecord.digital  
     166 foltia_program.tid, stationname, foltia_program.title, 
     167 foltia_subtitle.countno, foltia_subtitle.subtitle, 
     168 foltia_subtitle.startdatetime, foltia_subtitle.lengthmin, 
     169 foltia_tvrecord.bitrate, foltia_subtitle.startoffset, 
     170 foltia_subtitle.pid, foltia_tvrecord.digital 
    198171FROM foltia_tvrecord 
    199172LEFT OUTER JOIN foltia_subtitle on (foltia_tvrecord.tid = foltia_subtitle.tid ) 
     
    201174LEFT OUTER JOIN foltia_station on (foltia_subtitle.stationid = foltia_station.stationid ) 
    202175WHERE foltia_tvrecord.stationid = 0 AND 
    203 foltia_subtitle.enddatetime > '$rowdata[5]'   
    204 AND foltia_subtitle.startdatetime < '$endtime'   
    205        "; 
     176foltia_subtitle.enddatetime > ?   
     177AND foltia_subtitle.startdatetime < ?   
     178"; 
    206179        $rclass = ""; 
    207         $overlap = m_query($con, $query, "DBクエリに失敗しました"); 
    208         $overlapmaxrows = pg_num_rows($overlap); 
     180//      $overlap = m_query($con, $query, "DBクエリに失敗しました"); 
     181        $overlap = sql_query($con, $query, "DBクエリに失敗しました",array($rowdata[5],$endtime,$rowdata[5],$endtime)); 
     182                          $owrowall = $overlap->fetchAll(); 
     183                          $overlapmaxrows = count($owrowall); 
    209184        if ($overlapmaxrows > ($recunits) ){ 
    210185                 
     
    212187                 
    213188                for ($rrow = 0; $rrow < $overlapmaxrows ; $rrow++) { 
    214                         $owrowdata = pg_fetch_array($overlap, $rrow)
     189                                         $owrowdata = $owrowall[$rrow]
    215190                        $owtimeline[ $owrowdata['startdatetime'] ] = $owtimeline[ $owrowdata['startdatetime'] ] +1; 
    216191                         
     
    237212$query = " 
    238213SELECT 
    239 foltia_program .tid, 
    240 stationname, 
    241 foltia_program .title, 
    242 foltia_subtitle.countno, 
    243 foltia_subtitle.subtitle, 
    244 foltia_subtitle.startdatetime , 
    245 foltia_subtitle.lengthmin , 
    246 foltia_tvrecord.bitrate  ,  
    247 foltia_subtitle.startoffset ,  
    248 foltia_subtitle.pid  ,  
    249 foltia_tvrecord.digital  
     214 foltia_program.tid, stationname, foltia_program.title, 
     215 foltia_subtitle.countno, foltia_subtitle.subtitle, 
     216 foltia_subtitle.startdatetime, foltia_subtitle.lengthmin, 
     217 foltia_tvrecord.bitrate, foltia_subtitle.startoffset, 
     218 foltia_subtitle.pid, foltia_tvrecord.digital 
    250219FROM foltia_subtitle , foltia_program ,foltia_station ,foltia_tvrecord 
    251220WHERE 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 
    252 AND foltia_subtitle.enddatetime > '$rowdata[5]'  
    253 AND foltia_subtitle.startdatetime < '$endtime'   
     221AND foltia_subtitle.enddatetime > ?  
     222AND foltia_subtitle.startdatetime < ?   
    254223AND  (foltia_station.stationrecch = '0' OR  foltia_station.stationrecch = '-1' )  
    255224UNION 
    256225SELECT 
    257 foltia_program .tid, 
    258 stationname, 
    259 foltia_program .title, 
    260 foltia_subtitle.countno, 
    261 foltia_subtitle.subtitle, 
    262 foltia_subtitle.startdatetime , 
    263 foltia_subtitle.lengthmin , 
    264 foltia_tvrecord.bitrate  ,  
    265 foltia_subtitle.startoffset ,  
    266 foltia_subtitle.pid ,  
    267 foltia_tvrecord.digital  
     226 foltia_program.tid, stationname, foltia_program.title, 
     227 foltia_subtitle.countno, foltia_subtitle.subtitle, 
     228 foltia_subtitle.startdatetime, foltia_subtitle.lengthmin, 
     229 foltia_tvrecord.bitrate, foltia_subtitle.startoffset, 
     230 foltia_subtitle.pid, foltia_tvrecord.digital 
    268231FROM foltia_tvrecord 
    269232LEFT OUTER JOIN foltia_subtitle on (foltia_tvrecord.tid = foltia_subtitle.tid ) 
     
    271234LEFT OUTER JOIN foltia_station on (foltia_subtitle.stationid = foltia_station.stationid ) 
    272235WHERE foltia_tvrecord.stationid = 0 AND 
    273 foltia_subtitle.enddatetime > '$rowdata[5]'   
    274 AND foltia_subtitle.startdatetime < '$endtime'   
     236foltia_subtitle.enddatetime > ?   
     237AND foltia_subtitle.startdatetime < ?   
    275238AND  (foltia_station.stationrecch = '0' OR  foltia_station.stationrecch = '-1' )  
    276  
    277239        "; 
    278         $eoverlap = m_query($con, $query, "DBクエリに失敗しました"); 
    279         $eoverlapmaxrows = pg_num_rows($eoverlap); 
     240//      $eoverlap = m_query($con, $query, "DBクエリに失敗しました"); 
     241        $eoverlap = sql_query($con, $query, "DBクエリに失敗しました",array($rowdata[5], $endtime,$rowdata[5],  $endtime)); 
     242                          $eowrowall = $eoverlap->fetchAll(); 
     243                          $eoverlapmaxrows = count($eowrowall); 
    280244        if ($eoverlapmaxrows > ($externalinputs) ){ 
    281245                 
     
    283247                 
    284248                for ($erow = 0; $erow < $eoverlapmaxrows ; $erow++) { 
    285                         $eowrowdata = pg_fetch_array($eoverlap, $erow)
     249                                         $eowrowdata = $eowrowall[$erow]
    286250                        $eowtimeline[ $eowrowdata['startdatetime'] ] = $eowtimeline[ $eowrowdata['startdatetime'] ] +1; 
    287251                         
     
    359323                                        echo("<br></td>\n"); 
    360324                                echo("</tr>\n"); 
    361                        } 
     325                  } while ($rowdata = $rs->fetch()); 
    362326                ?> 
    363327        </tbody> 
     
    374338 
    375339<?php 
    376 } //if ($maxrows == 0) { 
    377  
    378  
     340    } //if ($maxrows == 0) 
    379341        $query = " 
    380342SELECT  
    381 foltia_program.tid, 
    382 stationname, 
    383 foltia_program .title , 
    384 foltia_tvrecord.bitrate , 
    385 foltia_tvrecord.stationid ,  
     343 foltia_program.tid, stationname, foltia_program.title, 
     344 foltia_tvrecord.bitrate, foltia_tvrecord.stationid,  
    386345foltia_tvrecord.digital    
    387346FROM  foltia_tvrecord , foltia_program , foltia_station  
     
    389348ORDER BY foltia_program.tid  DESC 
    390349"; 
    391       $rs = m_query($con, $query, "DBクエリに失敗しました"); 
    392         $maxrows = pg_num_rows($rs); 
    393                        
    394                if ($maxrows == 0) { 
     350//    $rs = m_query($con, $query, "DBクエリに失敗しました"); 
     351        $rs = sql_query($con, $query, "DBクエリに失敗しました"); 
     352$rowdata = $rs->fetch();                       
     353if (! $rowdata) { 
    395354//なければなにもしない 
    396355                         
    397356                }else{ 
    398                $maxcols = pg_num_fields($rs); 
     357        $maxcols = $rs->columnCount(); 
    399358 
    400359?> 
     
    417376                <?php 
    418377                        /* テーブルのデータを出力 */ 
    419                         for ($row = 0; $row < $maxrows; $row++) { /* 行に対応 */ 
    420                                 /* pg_fetch_row で一行取り出す */ 
    421                                 $rowdata = pg_fetch_row($rs, $row); 
    422  
     378             do { 
    423379                                $tid = htmlspecialchars($rowdata[0]); 
    424380                                 
     
    468424                                echo("\n</tr>"); 
    469425                                }//if tid 0 
    470                        }//for 
     426             } while ($rowdata = $rs->fetch()); 
    471427                }//else 
    472428                ?> 
track feed