このスレッドは解決済です(未解決に戻す場合はこちら)
<<戻る

ページャーができない このメッセージに返信する
日時: 2012/08/29(Wed) 12:15
名前: 公スター
URL:
以前に出来たページャーが使えなくなり、
色々調べてみたのですが、原因が判らないので投稿します。
mysqlのデータをページング処理する方法です。



PHPの文の内容は・・・

<html>
<head>
<title>ページャーサンプル</title>
</head>
<body>
<?php
require_once("Pager/Pager.php");
$sn = "サーバ名";
$un = "ユーザ名";
$up = "パス";
$dbn = "データベース名";

// データの文字コードを変換する関数
function cnv_enc($string, $to, $from) {
$det_enc = mb_detect_encoding($string, $from . ", " . $to);
if ($det_enc and $det_enc != $to) {
return mb_convert_encoding($string, $to, $det_enc);
}
else {
return $string;
}
}
// データベースに接続する
$dbs = mysql_connect($sn, $un, $up) or die("接続エラー");
mysql_select_db($dbn) or die("接続エラー");
$sql = "select * from テーブル名";
//文字コード変換
mysql_set_charset('utf8');

// SQL文を実行
$res = mysql_query($sql, $dbs) or die(mysql_error());

// mysql_query()関数でデータを取り出すSQLを実行します。
// 取り出したデータを表示する
while ($row = mysql_fetch_array($res, MYSQL_ASSOC)) {
$liss[] = array(k1 =>$row["COL 1"],k2=>$row["COL 2"],k3 =>$row["COL 3"],
k4=>$row["COL 4"],k5=>$row["COL 5"],k6=>$row["COL 6"],
k7=>$row["COL 7"],k8=>$row["COL 8"],k9=>$row["COL 9"]);
}

$perPage = 20;
$params = array(
"mode" => "Sliding",
"perPage"=>$perPage,
"itemData" => $liss,
"firstPagePre"=>"=",
"firstPageText"=>"トップ",
"firstPagePost"=>"=",
"lastPagePre"=>"=",
"lastPageText"=>"最後",
"lastPagePost"=>"=",
);

$pager = Pager::factory($params);

$navi = $pager->getLinks();
print($navi['all']."<br/>");

print($pager->numItems()."件中<br/>");
$scope = $pager->getOffsetByPageId();
print($scope['0']."件目から".$scope['1']."件目を表示 <br/>");
$ary = $pager->getPageData();

foreach ($ary AS $key => $value) {


echo "<table border='5' cellspacing='0' cellpadding='0' width='960'>";

echo "<tr>";
echo "<td width='250' align='center'>".$value["k3"];
echo "</td>";
echo "<td width='250'>" .$value["k4"];
echo "</td>";
echo "<td width='200'>" .$value["k5"];
echo "</td>";
echo "<td width='160'>" .$value["k7"];
echo "</td>";
echo "<td width='100'>" .$value["k10"];
echo "</td>";
echo "</tr>";

echo "<tr>";
echo "<td colspan='5'>" .$value["k6"];
echo "</td>";
echo "</tr>";

echo "<tr>";
echo "<td colspan='5'>" .$value["k9"];
echo "</td>";
echo "</tr></table><br><br>";

}

print($navi['all']);

// 接続を解除する
mysql_close($conn);
?>

<a href="index.html">検索へ戻る</a><br>

</body>
</html>



サーバ側で出たエラーは・・・(2つ)

PHP Warning: rewuire_once(Pager/Pager.php): failed to open stream: No such file or directory in /var/www/html/otamesi.php on line 7

PHP Fatal error: rewuire_onc(): Failde opening rewuired 'Pager/pager.php'(include_path='.:/usr/share/pear:/usr/share/php') in /var/www/html/otamesi.php on line 7

と出ました。

どこをどの様に直せばいいのでしょうか?
記事編集 編集

Page: | 1 | 2 |

Re: ページャーができない このメッセージに返信する
日時: 2012/08/30(Thu) 02:04
名前: 公スター
URL:
返信遅れてすみません!
やってみたところ、動作しました!
解決はしたのですが、聴きたい事があります。
ですが、それがこの掲示板に反する事であれば、指摘してください。
質問は控えます。



1、2ヶ月程前はpagerは動作したのを確認しました。
その時は 『 pager-2.4.8.gz 』と言うのをダウンロードし、
それをサーバ側にアップロードしました。
そしてPHP文には、
>require_once("Pager/Pager.php");
と書いて、これで動作したと記憶してます。

この1、2ヶ月で何かが変化したのでしょうか?
phpとかpagerのバージョンとか?でしょうか?
それとも他の何かが原因でしょうか?
記事編集 編集
Re: ページャーができない このメッセージに返信する
日時: 2012/08/30(Thu) 06:57
名前: stranger
URL: http://ja.528p.com/
7月に CentOS 6.2 が CentOS 6.3 にupdateされたので
変わった部分があったのでは?
記事編集 編集
Re: ページャーができない このメッセージに返信する
日時: 2012/08/30(Thu) 09:22
名前: 公スター
URL:
>7月に CentOS 6.2 が CentOS 6.3 にupdateされたので
>変わった部分があったのでは?

そうですか…
その事で、なぜstrangerさんの言う作業が必要かは
自分の中では判らないのですが、そう理解します。
プログラムの仕組みは良く判らないですが、
そういうもんなんですね…難しいです。

解決の上に質問に付き合ってもらい、ありがとうございました!
記事編集 編集
Re: ページャーができない このメッセージに返信する
日時: 2012/08/30(Thu) 10:21
名前: stranger
URL: http://ja.528p.com/
Pager-2.4.8.tgzを展開して
Pagerに名前を変えてアップロードしたときに

/usr/share/pear/Pager/Pager.php

が存在していれば問題ないと思うけど?

epel.repo から rpmパッケージを入れた場合
/usr/share/pear/Pager/Pager.php
だけでなく
/usr/share/pear/Pager.php
もインストールされます

Pager-2.4.8.tgzと異なる部分は
/usr/share/pear/Pager/Pager.phpで
/usr/share/pear/Pager.phpを呼び出しています
記事編集 編集
Re: ページャーができない このメッセージに返信する
日時: 2012/09/01(Sat) 13:27
名前: 公スター
URL:
>Pager-2.4.8.tgzを展開して
>Pagerに名前を変えてアップロードしたときに
>
>/usr/share/pear/Pager/Pager.php
>
>が存在していれば問題ないと思うけど?
>
>epel.repo から rpmパッケージを入れた場合
>/usr/share/pear/Pager/Pager.php
>だけでなく
>/usr/share/pear/Pager.php
>もインストールされます
>
>Pager-2.4.8.tgzと異なる部分は
>/usr/share/pear/Pager/Pager.phpで
>/usr/share/pear/Pager.phpを呼び出しています

1、2ヶ月前にやった時は
pager.phpの事は全く意識せずにやってたかも知れないので、
そういう違いに気付きませんでした。
サイトみながら、とりあえず展開!ってだけでした。

この解説のお陰でスッキリ疑問が解けました!
ありがとうございます!
記事編集 編集

Page: | 1 | 2 |

件名※必須
名前※必須
URL
任意のパスワード (投稿後のコメント修正・削除時に使用)
画像認証※必須 投稿キー(画像で表示されている数字を入力)
コメント※必須

※質問を投稿後に自己解決された場合は、原因と行った対処を具体的に書き込み下さるよう、よろしくお願いします。

- WEB PATIO -