adminFare.phpの例

<?php
//閲覧および各種メニュー
include_once("../../../mainfile.php");
//$xoopsOption['show_rblock'] = 0;
include_once(XOOPS_ROOT_PATH."/header.php");
include_once("../class/class.fare.php");
global $xoopsDB, $xoopsUser;
$myts = & MyTextSanitizer::getInstance();
/* display selection menu */
include_once("adminFareCommonHead.php");
/* $fareObj, $selectedRouteID, $selectedGeneralRoute,
   $category are defined in adminFareCommonHead.php */

if(!isset($selectedRouteID) || !$selectedRouteID) {
  include_once(XOOPS_ROOT_PATH."/footer.php");
  return;
}
//$joge = $selectedRouteID;
// ここから上は基本設定
////////////////////////////////////////////////////////////////////////////////////////
?>
<link href="../js/Super_Tables/superTables_compressed.css" rel="Stylesheet" type="text/css" />
<style type="text/css">
.fakeContainer { /* The parent container */
    margin: 0 0 20px; /* */
    border: none;
    width: 700px; /* Required to set 表の幅を指定*/
    height: 600px; /* Required to set 表の縦を指定*/
    overflow: hidden; /* Required to set 要領を超える場合スクロールをつけない(hidden)ようにしている。*/
}
</style>

<?php
echo "<h4>". _AD_BM_FARE_DETAIL ."</h4>";

  /* テストのためにだけ使用 */
  /*
$majorFare = array();
foreach($_POST as $key => $val) {
  if(!preg_match("/^tarea/",$key)) continue;
  $a = explode("_",$key);
//  echo "<br>". $a[1] . "と" . $a[2] . "のあいだの料金は" . $val . "です。";
  $majorFare[$a[1]][$a[2]] = $val;
}
*/
?>
<hr>
<?php
 /*
   selecting route
 */

$stop = $fareObj->getStopNamesByRouteID($selectedRouteID);
foreach($stop as $k => $val) $stopnojunban[$k] = $val['ID'];

?>
<?php
$junbanByStopID = array_flip($stopnojunban);

?>

<?php
for($i=1;$i<=count($stopnojunban);$i++) {
  for($j=1;$j<=count($stopnojunban);$j++) {
    $f[$i][$j] = 0;
  }
  $kikanCheck[$i]=0;  /* 基幹なら1、それ以外0 */
}

foreach($_POST as $key => $val) {
  if(!preg_match("/^tarea/",$key)) continue;
  $a = explode("_",$key);
  $f[$junbanByStopID[$a[1]]][$junbanByStopID[$a[2]]] = $val;
  $kikanCheck[$junbanByStopID[$a[1]]] = 1;
}


/* 基幹バス停の時刻だけ送信した場合は,補完*/
if(isset($_POST['post_major_stops'])) {
  for($i=1; $i<count($stopnojunban);$i++) {
    if($kikanCheck[$i]==1) {
      for($j= count($stopnojunban)-1; $j>$i; $j--) {
  if($f[$i][$j]==0) $f[$i][$j] = $f[$i][$j+1];
      }
    } else { //基幹でなかったら
      for($j=$i+1;$j<=count($stopnojunban);$j++) {
  $f[$i][$j] = $f[$i-1][$j];
      }
    }
  }
}
/* データベースへの登録 */
if(isset($_POST['post_major_stops']) || isset($_POST['submit_all'])) {
  for($i=1; $i<count($stopnojunban);$i++) {
    for($j=$i+1;$j<=count($stopnojunban);$j++) {
      $fareObj->writeFareDB($stopnojunban[$i], $stopnojunban[$j], $selectedRouteID, $f[$i][$j]);
    }
  }
}

 //料金表の表示
$fare = $fareObj->getFareByRouteID($selectedRouteID); // 改めてデータベースから取得
echo '<form method="POST">';
echo "<input type='hidden' name='route_id' value='${selectedRouteID}'/>";
echo '<div class="fakeContainer">';
echo '<table id="demoTableA">';
//1行目バス停名を上から2番目から表示
echo"<tr><th>" . _AD_BM_STOP_NAME ."</th>";
for($i=2;$i<count($stop)+1;$i++){
  echo"<th>" . $stop[$i]["Name"] . "</th>";
}
echo"</tr>";
for($i=1;$i<count($stop);$i++){
  echo'<tr><td size="10">' . $stop[$i]["Name"] . "</td>";
  for($j=2;$j<count($stop)+1;$j++){
    if($j <= $i){
      echo'<td></td>';
    }else{
      $tmpfare = isset($fare[$stop[$i]["ID"]][$stop[$j]["ID"]])? $fare[$stop[$i]["ID"]][$stop[$j]["ID"]] : "";
      if($tmpfare!=""){
        $tmp ='<td class="active"><input type="text" size="5" name="tarea_' . $stop[$i]["ID"].'_'.$stop[$j]["ID"] . '" value="'.$tmpfare.'"></td>';
      }else{
        $tmp ='<td class="active"><input type="text" size="5" name="tarea_' . $stop[$i]["ID"].'_'.$stop[$j]["ID"] . '" value=""></td>';
      }
      echo $tmp;
    }
  }
  echo "</tr>";
}
echo "</table>";
echo "</div>";
echo "<input type='submit' name='submit_all'  value='". _AD_BM_SUBMIT . "'></form>";


?>

<script type="text/javascript" src="../js/Super_Tables/superTables_compressed.js"></script>
<script type="text/javascript">
//<![CDATA[
(function () {
    new superTable("demoTableA", {
      cssSkin : "sDark",
        fixedCols : 1
    });
})();
//]]>
</script>

<?php

include_once(XOOPS_ROOT_PATH."/footer.php");

?>