電子書籍の厳選無料作品が豊富!

Pagerを入れてみたらArray Arrayと表示されます。何が原因なのかわからず困っています。お力をお願い致します。

A 回答 (14件中11~14件)

$smarty->assign('pagelink',$plink['all']);


$smarty->assign('pagedata',$pdata['all']);
ですが、
$smarty->assign('pagelink',$plink['all']);
$smarty->assign('pagedata',$pdata);
にしてください。$pdataはallしても意味がないので。
また、print_rの件ですが、
$plink['all']ではなくて
print_r($plink)の意味で言ったのですが、こちらの結果はどんな感じになりますか?
何も表示されなくなったとのことですが、

$params=array(
'perPage'=> 1,  ←1にしてみて下さい。
'itemData'=> $data
);
$page = Pager::factory($params);
$pdata = $page->getPageData();
$plink = $page->getLinks();

$smarty->assign('pagelink',$plink['all']);
$smarty->assign('pagedata',$pdata);
こちらで見てみてください。

この回答への補足

※コードを書き直し表示更新をすると、

Parse error: syntax error, unexpected T_STRING in /home/サーバー名/public_html/server/app/rakuten/rakuten.php on line 72

と表示され、更新ボタンを押すとちゃんと商品表示されます。unexpected T_STRINGということは、文字がちゃんとかかれていないとでるとどこかのサイトに書いてありましたが、更新ボタンを押すとなくなりますが、やはりどこかおかしいのでしょうか。

補足日時:2008/08/10 12:22
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。11spec0様がご指摘させたように、
$params=array(
'perPage'=> 1,
'itemData'=> $data
);
$page = Pager::factory($params);
$pdata = $page->getPageData();
$plink = $page->getLinks();

$smarty->assign('pagelink',$plink['all']);
$smarty->assign('pagedata',$pdata);
でした場合は表示されたのは、
1 2 Next >> Array のように表示されましたがリンクは出来ませんでした。また、$smarty->assign('pagelink',print_r($plink);の場合、商品の配列の上に、

Array ( [0] => [1] => 1 2 [2] => Next >> [3] => [4] => [2] [5] => 1 2 Next >> [6] => [back] => [pages] => 1 2 [next] => Next >> [first] => [last] => [2] [all] => 1 2 Next >> [linktags] => ) 

商品配列の下に 1 Array と表示されやはりリンクはできませんでした。

気になっているのが、HTML側では
<div id="rakuten"></div>
<script type="text/javascript">
//<![CDATA[
Rakuten({
id : 'rakuten',
keyword : 'DVD',
field : true,
max : 10, //商品数量を指定
min_price : 1000, //最低金額指定
max_price : 50000, //最高金額指定
sort : '-reviewCount',
tid : 1,
url : 'http://サーバー/server/app/rakuten/rakuten.php'
});
//]]>

このコードを貼り付けるようになっているのですが、何か関係があるのでしょうか。
11spec0様のお陰でページ送りの表示が出てきたので、すごく感動しております。少しづつですが前に進んでいることが実感できうれしく思っています。

お礼日時:2008/08/10 12:18

試しにリンクをprint_rしてみてください。

結果はどうでしょうか?
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。いつもお力になっていただきまして大変感謝しております。まず、最初のエラーなんですが、間違いがありました。すみません。
$smarty->assign('pagelink',$plink['all']);
$smarty->assign('pagedata',$pdata['all']);
の['all']を入れたときはエラーがでずArray Arrayも消えて何もページ送り表示はなくただ商品が配置されただけになりました。
これであっているのかわかりませんが
$smarty->assign('pagelink',$plink['print_r']);に変えても結果は同じでした。友達のサーバーにファイルを置かしてもらってファイルを見ていただくのも違反になるのでしょうか・・・

お礼日時:2008/08/09 18:44

なるほどですね。


$smarty->assign('pagelink',$plink);
ただ単に$plinkを渡しても型が配列なのでArrayと表示されてしまいます。
$smarty->assign('pagelink',$plink['all']);
でアサインしてみてください。
こちらにリンク情報が入っております。
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。$smarty->assign('pagelink',$plink['all']);と書き込みアサインしましたがエラーコードがでました。tpl側の{$pagelink}にも['all']を書いた方がいいのでしょうか?$smarty->assign('pagelink',$plink['all']);のみ書き込みした場合のエラーは下記のとおりでした。

Fatal error: Smarty error: [in rakuten01.tpl line 13]: syntax error: unrecognized tag: $pagelink['all'] (Smarty_Compiler.class.php, line 446) in /home/○○○○/public_html/server/smarty/Smarty.class.php on line 1095

お礼日時:2008/08/08 18:32

これだけではなんとも答えようがありません。

ロジックを載せていただければ何かしらのアドバイスができると思いますので、よろしくお願いします。
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。「smartyでページングするには」では大変ご迷惑をおかけしました。11spec0さんに教えて頂いたように

$params=array(
'perPage'=> $max,
'itemData'=> $data
);
$page = Pager::factory($params);
$pdata = $page->getPageData();
$plink = $page->getLinks();

$smarty->assign('pagelink',$plink);
$smarty->assign('pagedata',$pdata);

と以前と同じPHPにいれてのですが、商品はでてくるのですが、ページング部分の表示場所にArray Arrayの文字が出てきます。

ご迷惑をおかけしましたが、11spec0が頼りです。お力をかして下さい。

お礼日時:2008/08/08 07:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!