ホームページ > バックエンド開発 > PHPチュートリアル > discuz x2.5 でデータベース読み取りエラーが発生しました。アドバイスをお願いします。

discuz x2.5 でデータベース読み取りエラーが発生しました。アドバイスをお願いします。

WBOY
リリース: 2016-06-23 13:46:31
オリジナル
876 人が閲覧しました

sourcemodulebargai の bargai_indexphp のコードは次のとおりです:
$sql_store = 'SELECT cate_name FROM ecm_scategory ORDER BY sort_order';
$my_category= implode(' ',DB::fetch_all($sql_store));

barga in templatedefaultbargai コード.html の場合:

- -リスト ページの終わり-->



は、IE では次のように表示されます。
Array Array Array Array Array Array Array Array配列 配列 配列 配列 配列 配列
cate_name のデータが出力できないのはなぜですか?



ディスカッションへの返信 (解決策)

implode は 1 次元配列を文字列に連結することしかできません

DB::fetch_all は明らかに 2 次元配列を返します

このように書くと

$my_category = implode(' ', array_map('implode', DB::fetch_all($sql_store)));
ログイン後にコピー
ログイン後にコピー


implode のみ 1 次元配列を文字列に接続できます

DB::fetch_all は明らかに 2 次元配列を返します

このように書く必要があります

$my_category = implode(' ', array_map('implode', DB::fetch_all($sql_store)));
ログイン後にコピー
ログイン後にコピー


アドバイスありがとうございます
の値を出力したい二次元配列の cate_name を 1 つずつ 来ますか?実行する方法?

foreach(DB::fetch_all($sql_store) as $row) {  echo $row['cate_name'] . '<br>';}
ログイン後にコピー
ログイン後にコピー

foreach(DB::fetch_all($sql_store) as $row) {  echo $row['cate_name'] . '<br>';}
ログイン後にコピー
ログイン後にコピー


PHP には次のようになります。

HTMLでループを使用する次のように記述する必要があります

{eval echo($v['cate_name])}
;

これでいいですか?モデレーターさん、アドバイスありがとうございました!


ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート