1

モバイル サイトの Web サイト ディレクトリを作成しています ( FOUND HERE )

mysql テーブルからホームページへのリストを、テーブルの promo_cat リストから表示する方法を見つけました。

私が問題を抱えているのはこれです:

カテゴリの 1 つをクリックすると、list.php ページに移動します。

他のカテゴリではなく、クリックされたカテゴリに関連する結果をこのページに表示するにはどうすればよいですか?

例: "FREE" をクリックすると、次のページが表示されます: http://www.xclo.mobi/xclo2/list.php?id=FREE。すべての結果を表示します。promo_cat フィールドが「FREE」の結果のみを表示し、現在のように他の結果を表示しないでください。

私のlist.phpコード:

<?php

include_once('include/connection.php');
include_once('include/article.php');

$article = new article;
$articles = $article->fetch_all();

?>

<html>

<head>
<title>xclo mobi</title>
<link rel="stylesheet" href="other.css" />
</head>

<body>
<?php include_once('header.html'); ?>


<div class="container">
<a href="index.php" id="logo">Category = ???</a>

<ol>
    <?php foreach ($articles as $article) { ?>

<div class="border">
<a href="single.php?id=<?php echo $article['promo_title']; ?>" style="text-decoration: none">
<img src="<?php echo $article['promo_image']; ?>" border="0" class="img" align="left"><br />


<a href="<?php echo $data['promo_link']; ?>" target="_blank"><img alt="" title="" src="GO.png" height="50" width="50" align="right" /></a>

          <font class="title"><em><center><?php echo $article['promo_title']; ?></center></em></font>

<br /><br />

<font class="content"><em><center><?php echo $article['promo_content']; ?></center></em></font>

</div><br/><br />

          </a>

 <?php } ?>
</ol>
</div>
</body>

</html>

/include/article.php

<?php

class article {
public function fetch_all(){
    global $pdo;
      $query = $pdo->prepare("SELECT * FROM mobi");
      $query->execute();
return $query->fetchAll();
              }

public function fetch_data($promo_title) {
   global $pdo;

 $query = $pdo->prepare("SELECT * FROM mobi WHERE promo_title = ?");
  $query->bindValue(1, $promo_title);
   $query->execute();

return $query->fetch(); 

}

}

?>
4

2 に答える 2

0

あなたが提供したコードに基づいて、これを試してください:

<?php foreach ($articles as $article) { 
   if ($article['promo_cat'] === 'FREE') { ?>

   // Keep the rest of the code

   //instead of <?php } ?> - put...
   <?php } } ?>

覚えておいてください、これは面倒です。しかし、foreachステートメント (私が想像する) は、すべての投稿を印刷するために使用されています。したがって、投稿を印刷する前に、promo_title が FREE か GIFT かどうかを確認するだけです。そうでない場合は、そのアイテムは印刷されません。

$_GET 変数を渡すことで、これをより動的にすることができます (これを行っているようですが、コードはこの変数を使用していません)。

if ($article['promo_cat'] === $_GET['id'])

それが役立つことを願っています!

于 2013-07-19T17:07:16.720 に答える