[PHP-users 6921] 検索結果がIHTMLファイルで表示されない

吉塚 陽子 php-users@php.gr.jp
Tue, 16 Apr 2002 15:26:10 +0900


吉塚と申します。
少し前に、[PHP-users 6647]Parse error ではたくさんの方にお世話になりました。
Parse error をおこしたファイル(ihtmlファイル)を1から書き直したところ、
Parse error で落ちることはなくなりました。原因は依然として不明です。

ところが新たに問題が起きました。
list.incでSELECT文を作成・実行し、その結果を list.ihtml でブラウザ表示させる
のですが、
検索結果が表示されなくなってしまいました。
list.inc内のチェックプリント文は、ちゃんと検索結果を返してきます。
SELECTを実行したとき得られる(行数num_rows = 4)や列数(num_fields = 7 )は、
list.ihtml内のチェックプリント文で表示することががあ、検索結果は表示されませ
ん。
このプログラムを実行すると、ブラウザには以下のように表示されます(*で囲まれた
部分)。

 (旧)システム:LedHat6.2J+PostgreSQL7.0.3+PHP4.0.3+Apche1.3.14
 (現)システム:LedHat6.2J+PostgreSQL7.0.3+PHP4.0.3+Apche1.3.24
Apacheをアップグレードしたことで、何か特別に変更しなければいけことがあるので
しょうか?
よろしくお願いします。

******************ブラウザ表示ここから*******************
***                                                  ***
*** 32,todo3,2002年03月14日,Least          ***→list.incのチェッ
クプリント文始め
*** 15,sample9,2002年04月06日,Least                  ***
*** 37,todo8,2002年03月15日,Least                    ***
*** 8,sample4,,Least                                 ***
*** end of list.inc                                  ***→list.incのチェッ
クプリント文終り
***                          ***
*** ToDoリスト                                       ***→ここからlist.ihtml
***                                               ***
*** num_rows = 4                                     ***→list.ihtmlのチェ
ックプリント文始め
*** num_fields = 7                                   ***
***                          ***→ここにlist.incと
同じ検索結果が表示されるはず
*** nandeda!!                                        ***→list.ihtmlのチェ
ックプリント文終り
***                                                  ***
*** 完了 	ToDo名       〆切  	優先度        ***
*** -------------------------------------------------***
***                                                   ***→ここに検索結果が
表示されるはず
*** -------------------------------------------------***
*** [次の 4 件に続く]                                ***
***                                                  ***
******************ブラウザ表示ここまで*******************

--------------------------------------------list.inc(始め)
------------------------------------------
<?php
$maxl = 4 ;
$usersql = "" ;

$db = new DB_Example;
$sql  = "select t.todo_id, t.todo_name as todo_name,";
$sql .= " to_char(t.end_time,'YYYY年MM月DD日') as end_time,";
$sql .= " p.priority_name, t.memo, t.ended, t.priority_code";
$sql .= " from todo t, priority p ";
$sql .= " where t.uname = '" . $auth->auth["uname"] . "' ";
$sql .= " and p.priority_code = t.priority_code ";
$sql .= " order by t.priority_code desc, t.ended, t.end_time ";
$usersql = $sql ;
if( !isset($direction) ) $offset = 0 ;
else
{
        if ( $direction == "next" ) $offset += $maxl ;
        else    $offset -= $maxl ;
}
$sql = $usersql . " LIMIT $maxl OFFSET $offset" ;
$db->query($sql) ;
/* チェックプリント文始め */
while($db->next_record())
{
        print ( $db->f("todo_id") . "," ) ;
        print ( $db->f("todo_name") . "," ) ;
        print ( $db->f("end_time" ) . "," );
        print ( $db->f("priority_name") . "<br>" ) ;
}
print ( "end of list.inc" ) ;
/* チェックプリント文終り */

include("list.ihtml");
?>
--------------------------------------------list.inc(終り)
-----------------------------------------

--------------------------------------------list.ihtml(始め)
---------------------------------------
<html>
<head><title>ToDoリスト</title></head>
<body>
<form action=<?php $sess->purl("index.php"); ?> method="POST" >
<table width="100%" border=0 cellspacing=0 cellpadding=1>
  <tr>
    <th align="center" nowrap>完了</th>
    <th nowrap>ToDo名</th>
    <th width="25%" nowrap>〆切</th>
    <th width="15%" nowrap>優先度</th>   
  </tr>
  <tr><td colspan=6><hr size=1></td></tr>

/* チェックプリント文始め */
<?php
print( "<br> num_rows = " . $db->num_rows() ) ;
print( "<br> num_fields = " . $db->num_fields()) ;
print( "<br>" ) ;
while($db->next_record())
{
        print ( $db->f("todo_id")   . "," ) ;
        print ( $db->f("todo_name") . "," ) ;
        print ( $db->f("end_time" ) . "," );
        print ( $db->f("priority_name") . "<br>" ) ;
}
print ( "nandeda!!" ) ;
?>
/* チェックプリント文終り */

  <tr>
<?php
while($db->next_record())
{
        if ($db->f("ended")==1) $sel = "CHECKED" ;
        else                    $sel = "" ;
?>
    <td  align="center">
      <input type="checkbox" name="on[]" value="<?php print
$db->f("todo_id"); ?>" 
      <?php print $sel; ?>></td>
    <td align="left">
      <a href="<?php $sess->purl("index.php?btn=detail&todo_id=" .
$db->f("todo_id")); ?>">
      <?php print $db->f("todo_name"); ?></a></td>
    <td align="center" nowrap>
      <a href="<?php $sess->purl("index.php?btn=detail&todo_id=" .
$db->f("todo_id")); ?>">
      <font color="<?php print $fnt->color; ?>">
      <?php print $db->f("end_time"); ?></font></a>&nbsp; </td>
    <td align="center" nowrap>
      <font color="<?php print $fnt_color; ?>">
      <?php print $db->f("priority_name"); ?>&nbsp;</font></td>
  </tr>
<?php
}
?>
  <tr><td colspan=6><hr size=1></td></tr>
</table></form></body></html>
<?php
print( "<br>" ) ;
if ( $offset > 0 ) print( "<a
 href=\"index.php?direction=prev&offset=$offset\">[前の $maxl 件に戻る
]</a>" ) ;
$num = $offset + $maxl ;
$lsel = $usersql . " LIMIT $maxl OFFSET $num" ;
$db->query($lsql) ;
$n = $db->num_rows() ;
if ( $n > 0 ) print( "<a
 href=\"index.php?direction=next&offset=$offset\">[次の $n 件に続く]</a>" ) ;
?>
-------------------------------------------list.ihtml(始め)
------------------------------------



☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

  (株)ニコン 
	カンパニーサポートセンター 光学技術開発部  吉塚 陽子

  〒140-8601
    東京都品川区西大井1-6-3
       TEL:03-3773-3252(ダイヤルイン)	EX)7312-3666
       FAX:03-3775-5934			EX)7312-4073
       E-mail:yoshizuka.wakaba@nikon.co.jp
	      Yoshizuka.Yoko@nikonoa.net
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆