私はPHPのサイトを構築しており、レンダリングの問題があるようです。 私のサイトは、Header.php、sidebar.php、footer.phpなど、複数の部分に分かれています。すべてのカテゴリはサイドバーにレンダリングされますが、選択したカテゴリの製品をレンダリングしようとするとページが完全なページを表示しません。PHPページが適切にレンダリングされない
私はカテゴリーと商品を持つ簡単なデータベースを持っています。 以下は、私のconnect_db.php、categories_db.php、およびproducts_db.phpファイルのコードです。すべてのデータベースの内容を扱います。
注:すべての製品を表示するだけで、サイドバーの選択したカテゴリの製品をレンダリングする必要がある場合は、product_list.phpをレンダリングすることができます。
は以下
<?php
error_reporting(-1);
ini_set('display_errors', 1);
require('models/connect_db.php');
require('models/categories_db.php');
require('models/products_db.php');
$categories = get_categories();
if (!isset($category_id)) {
$category_id = 1;
}
else {
$category_id = $_GET['category_id'];
}
// get all products by category
$products = get_products_by_category($category_id);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<?php include('views/layout/head.php');?>
</head>
<body>
<!-- Wrapper -->
<div class="wrapper">
<!-- Header -->
<?php include('views/layout/header.php');?>
<!-- Main -->
<div id="main">
<div class="cl"> </div>
<!-- Content -->
<div id="content">
<?php include('views/product_list.php');?>
</div>
<!-- End Content -->
<!-- Sidebar -->
<?php include('views/layout/sidebar.php');?>
</div>
<!-- End Main -->
<!-- Footer -->
<?php include('views/layout/footer.php');?>
</div>
<!-- End Wrapper -->
</body>
</html>
は今サイドバーが正しくカテゴリをレンダリング私のindex.phpまたはメインビューですが、私は、カテゴリをクリックすると、期待どおりには、product_list.phpをレンダリングしません。
サイドバーがすべてのカテゴリを正しく読み込み、コードが以下のとおりです。
<?php
$categories;
$categories = get_categories();
$category_id = $_GET['category_id'];
if (!isset($category_id)) {
$category_id = 1;
}
?>
<div id="sidebar">
<!-- Categories -->
<div class="box categories">
<h2>Categories </h2>
<div class="box-content">
<ul>
<!-- get category menu items -->
<?php foreach($categories as $category) : ?>
<li><a href="?category_id=<?php echo $category['category_id'];?>">
<?php echo $category['name'];?>
</a>
</li>
<?php endforeach; ?>
</ul>
</div>
</div>
<!-- End Categories -->
</div>
<!-- End Sidebar -->
<div class="cl"> </div>
ここでレンダリングされないproduct_list.phpファイルです。
<?php
// get all products by category
$products = get_products_by_category($category_id);
// get category name
$category_name = get_category_name($category_id);
?>
<!-- Products -->
<div class="products">
<div class="cl"> </div>
<ul>
<?php foreach($products as $product) : ?>
<li>
<a href="#"><img src="css/images/big1.jpg" alt="" /></a>
<div class="product-info">
<h3><?php echo $product['name'];?></h3>
<div class="product-desc">
<h4><?php echo $category_name;?></h4>
<p><?php echo $product['description'];?></p>
<strong class="price"><?php echo $product['price'];?></strong>
</div>
</div>
</li>
<?php endforeach; ?>
</ul>
<div class="cl"> </div>
</div>
<!-- End Products -->
私は、$ CATEGORY_ID設定または何を取得されていないので、それはだ場合、誰かが私はこの問題を乗り越える助けてくださいわかりません。
ERRORS:
注意:未定義の変数:行に/var/www/WidgetCorp/views/product_list.phpでCATEGORY_ID 4
注意:未定義の変数:/ varにCATEGORY_ID/WWW/WidgetCorp /ライン7
致命的なエラーに関する意見/ product_list.php:未定義のメソッドPDOへの呼び出し::フェッチ()/var/www/WidgetCorp/models/categories_db.phpにライン22
puh、それは多くのコードです... –
Wayyyyあまりにも多くのコードがあります。 「レンダリングしない」とはどういう意味ですか?何か間違いはありますか?あなたが望むように表示されていませんか? – Mat
申し訳ありませんが...私はそれが完了したかった....任意のアイデア? –