2013-03-21 5 views
0
----------------------------------------- 
     Table Name: product_cat 
----------------------------------------- 
id   - int(11)  - auto_increment 
      -    - 
cat_name - varchar(30) - 
      -    - 
branch_code- varchar(30) - 
      -    - 
date  - datetime - 



----------------------------------------- 
     Table Name: product_brand 
----------------------------------------- 
id   - int(11)  - auto_increment 
      -    - 
parent_id - int(11)  - 
      -    - 
branch_name - varchar(40) - 
      -    - 
category - varchar(40) - 

Я применил внешний ключ в product_brand таблице по этому запросу (alter table product_brand add constraint ta1 foreign key(parent_id) references product_cat(id))Как отображать данные из двух таблиц с Эталонным ид

и я вставить данные в product_brand таблицы, следующим образом

<table> 
     <form action="index.php?tanzil=brand_added" method="post">   
    <tr> 
     <td>Brand Name:</td> 
     <td> 
     <input type="text" name="brand_name" /> 
     </td> 
    </tr> 
    <tr> 
     <td>Category:</td> 
     <td> 
     <select name="cat_name"> 

<?php 
db_connect(); 
$q="select * from product_cat order by cat_name"; 
$rs=mysql_query($q); 
for($i=0;$i<mysql_num_rows($rs);$i++){ 

$rd=mysql_fetch_object($rs); 
echo"<option value='$rd->id'>$rd->cat_name</option>"; 

} 
?> 

     </select> 
     </td> 
    </tr> 
    <tr> 
    <td> 
     <input type="submit" value="submit" /> 
    </td> 
    </tr> 
     </form> 
</table> 

и вставки данных в базу данных таким образом

db_connect(); 
$name_of_cat = $_POST['cat_name']; 
$name_of_brand = $_POST['brand_name']; 
$g ="insert into product_brand (parent_id,brand_name,category) values ('$name_of_cat','$name_of_brand','$name_of_cat')"; 
if(mysql_query($g)){ 
echo "Done";  
} 
else{ 
echo"Some error occured"; 
} 

и отображения данных по этому пути

$query= "select * from product_brand"; 
$result= mysql_query($query); 
while($row=mysql_fetch_object($result)) 
{ 
echo $row['brand_name']; 
} 

, но я не получаю имя cat_name из product_cat таблицы ведения parent_id

Как я могу получить его?

ответ

2

JOIN две таблицы:

SELECT 
    p.id, 
    p.branch_name, 
    c.cat_name 
FROM product_Brand  AS p 
INNER JOIN Product_cat AS c ON c.id = c.parent_id; 
0

Поскольку результат должен состоять все строки из таблицы "Product_brand", пытаются использовать LEFT JOIN следующим образом,

$query= "SELECT 
     pb.*, 
     pc.cat_name 
    FROM product_Brand pb 
    LEFT JOIN Product_cat pc ON pb.id = pc.parent_id"; 
$result= mysql_query($query); 
while($row=mysql_fetch_object($result)) 
{ 
echo $row['brand_name']; 
} 
Смежные вопросы