0

別のテーブルに関連するデータをエコーする方法を教えてもらえますか?

私はテーブルを持っています

tbl_category_products:<
- id_categorys
- category

製品のその他の表

tbl_products:
- title
- description
- id_categorys

PHP で製品のリストをカテゴリ別に表示するにはどうすればよいですか?

ここにいくつかのコードがありますが、成功しません。試してみましたが成功しませんでした。元のコードは次のとおりです テーブル名: tbl_categorias_noticias
- id_categoria_noticia
- categoria

tbl_noticias
- id_noticia
- id_categoria_noticia
-titulo
-decricao
-msg
-nome_arquivo
-legenda

<?php
 $categoryId = 1; 
  $sql_visualizar = mysql_query("SELECT * FROM tbl_noticias AS t1 JOIN tbl_categorias_noticias c
ON c.id_categoria_noticia=t1.id_categoria_noticia WHERE id_categoria_noticia = {$categoryId}");
while($linha = mysql_fetch_array($sql_visualizar)){
$titulo = $linha ['titulo'];
$descricao = $linha['descricao'];
$msg = $linha['msg'];
$legenda = $linha['legenda'];
$nome_arquivo = $linha['nome_arquivo'];
$id_noticia = $linha['id_noticia'];

  ?>
4

5 に答える 5

1

このようなもの

まず第一に:mysql接続

$categoryId = 1;    
$query = "SELECT t1.* FROM tbl_products AS t1 JOIN tbl_category_products c
ON c.id_categorys=t1.id_categorys WHERE id_categorys = {$categoryId}";
$result = mysql_query($query);

while($r = mysql_fetch_assoc($result)) {
    //show your products
}
于 2012-06-21T10:44:49.010 に答える
1

結合が必要です:

SELECT t1.title, t1.description, t2.category
FORM tbl_products t1
LEFT JOIN tbl_category_products t2 ON t1.id_categorys = t2.id_categorys
于 2012-06-21T10:39:23.833 に答える
0

これを試して

SELECT t1.title, t1.description, t2.category
FORM tbl_products t1
JOIN
tbl_category_products t2 
ON t1.id_categorys = t2.id_categorys
WHERE t1.id_categorys = 'myCategory'
于 2012-06-21T10:49:39.510 に答える
0

JOIN を使用して両方のテーブルをクエリする

SELECT p.title, p.decription, c.category
FROM tbl_products p
JOIN tbl_category_products c
ON c.id_categorys=p.id_categorys
ORDER BY c.category ASC
于 2012-06-21T10:41:23.113 に答える
0
SELECT tp.title, tp.description, tcp.category FORM tbl_products tp,tbl_category_products tcp where tp.id_categorys = tcp.id_categorys
于 2012-06-21T10:42:57.880 に答える