別ファイルのfunctionを使いたいのですが3つのfunctionのうちsql()しかつかえません。
まだ作成とちゅうでfunctonがつかえるかの確認中です。共通でつかいたいのできた画面によって表示する項目をかえるためにテンプレートで制御してます。sqlから配列を作ってpagerでリスト表示しようとしてます。
sakusei.php
<?
//sql作成
function sql(){
$sql = "select * from shop_t where point=4";
$sql = $sql." order by id asc";
return $sql;
}
//配列作成
function hairetu(){
$list_data[] = array(
"id"=>$row["id"],
"name"=>$row["name"],
"address"=>$row["address"],
"tel"=>$row["tel"],
"point"=>$row["point"],
"a1"=>$row["a1"]);
return $data;
}
//テンプレート選択
function tmple(){
$tpl="./sample.tpl";
return $tpl;
}
?>
sample.php
<?php
session_start();
require_once("sakusei.php");
@ini_set('include_path', './includes/Smarty'.PATH_SEPARATOR.ini_get('include_path'));
@ini_set('include_path', './includes/'.PATH_SEPARATOR.ini_get('include_path'));
require_once("DB.php");
require_once("Pager/Pager.php");
require_once("Smarty/libs/Smarty.class.php");
//新しい画面からきたときの処理
if(isset($_POST[db])){
session_unset();
}
if(isset($_SESSION["db"])){
}
else {
$_SESSION["db"]=$_POST[db];
}
if(isset($_SESSION["basyo"])){
}
else {
$_SESSION["basyo"]=$_POST[basyo];
}
//データベースからデータを取得する
$datasource = "mysql://root:@localhost/".$_SESSION["db"];
print"$datasource";
$db = DB::connect($datasource );
mysql_query("SET NAMES UTF8");
$basyo=$_SESSION["basyo"];
$sql=sql();
if($_SESSION["sql"]==""){
$_SESSION["sql"]=$sql;
}
print $_SESSION["sql"];
//クエリ作成
$res = $db->query($_SESSION["sql"]);
//データを配列に格納
$list_data=new hairetu(); ←※エラー行
while ($row = $res->fetchRow( DB_FETCHMODE_ASSOC )) {
$data_list
}
//データベース後処理
$res->free();
$db->disconnect();
//Pagerへのデータ割り当て処理
$perPage=3;
$params=array("perPage"=>$perPage, "itemData"=>$data_list, "delta"=>5, "altFirst"=>"First",
'firstPageText' => '最初',
'altFirst' => '最初',
'lastPageText' => '最後',
'altLast' => '最後',
);
$o_page=Pager::factory($params);
foreach($o_page->getPageData() as $item){
$data_list_for_page[]=$item;
}
//Smartyへの割付処理
$smarty=new Smarty;
$smarty->template_dir = "./templates";
$smarty->compile_dir = "./templates_c";
//$smarty->cache_dir = "./cache";
$smarty->assign("list", $data_list_for_page);
$navi=$o_page->getLinks();
$smarty->assign("pageNavi", $navi['first'].$navi['all'].$navi['last']);
//テンプレート表示
$tql=new tmple(); ←※エラー行
print $tql;
$smarty->display("$tpl");
?>
Fatal error: Class 'hairetu' not found in D:\xampp\htdocs\rei\pager\sample.php on line~
Fatal error: Class 'tmple' not found in D:\xampp\htdocs\rei\pager\sample.php on line~
がエラーになります。。よろしくお願いします。。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
phpではfunctionはあくまで関数です。
オブジェクトではないのです。
// C系に慣れ親しんで居た状態から試行錯誤しているのかな、と邪推しますが・・
>$tql=new tmple();
$tql = tmple();
とすれば正常に動作するかと思います。
newするのであればtmpleはクラスとして宣言されていなければなりません。
----
蛇足
function hairetu(){
$list_data[] = array(
(snip)
);
return $data; // <- $list_data?
}
returnの変数名を間違えてませんか。
No.2
- 回答日時:
sqlとhairetuとtmpleはクラスではなく関数ですよね?
sqlは関数として呼び出しているのに、他の二つはクラスとして呼び出しているように見えますが…
>$sql=sql();
>$list_data=new hairetu(); ←※エラー行
>$tql=new tmple(); ←※エラー行
の三行ですが、並べてみると動くところと動かないところの違いがわかるかと。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- PHP アコーディオンPHPが上手くいかない 3 2022/07/15 16:29
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- PostgreSQL 画像とカテゴリーを出力したいのですが、取得の条件を付ける方法がわかりません。 2 2022/05/01 18:03
- PHP style.cssのjQuery条件付きcssが機能しない 4 2022/07/17 18:27
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- PHP コメント機能に返信欄を矢印で追加したい 1 2022/05/09 21:17
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JAVA SQLServerException 列名 ...
-
<VB.NET>INSERT文でDBにデータ...
-
ResultSetインターフェイスでの...
-
INSERT,DELETEを同時に
-
PHP初心者です。syntax error, ...
-
VBA ACCESS SQL...
-
配列データのレコード登録
-
別ファイルのfunction
-
データベースに存在するデータ...
-
MySQLでデータベースにデータin...
-
実行時エラー3131 FROM 句の構...
-
phpでテーブルを作る際変数によ...
-
dbに登録したデータをphpのプル...
-
PHP+MySQLでの配列のinsert文に...
-
データフォームウィザードで追...
-
in 'where clause'のエラーの理由
-
VBA処理追加 こちらでご教示頂...
-
子プロセス終了で閉じてしまうm...
-
phpのエラーについてです
-
VBAをつかってクエリの情報を抽...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
JAVA SQLServerException 列名 ...
-
<VB.NET>INSERT文でDBにデータ...
-
Pro*Cの構文エラー
-
Q&Aサイトを作成していてURLの...
-
ResultSetインターフェイスでの...
-
VBA ACCESS SQL...
-
データベースに存在するデータ...
-
VB.NET エラーになる箇...
-
insert1つの処理でもトランザ...
-
MySQLのINSERT時にたまに重複に...
-
INSERT,DELETEを同時に
-
like検索の複数キーワードで、...
-
PHP&MySQLでの文字列+数列の一...
-
mysqliを使ってデータベースを...
-
PHP初心者です。syntax error, ...
-
PHP+SQLite でSELECT文のWHERE...
-
php MySQL で、更新ボタンを押...
-
SQLインジェクション対策
-
phpでforeach ($stmt as $row)...
-
OR検索を実装したい
おすすめ情報