English 中文(简体)
缩略语
原标题:SQL JOIN get name and all tags for item

这是我有史以来首次提出的日本移民协会条款,我的确遇到了一个问题。 我想重复我的物品所需的一切信息,但我不理解如何重复一个项目的标注,现在我收到一份清单,重复项目,但如果分配给一个项目的标子不止一个,则有不同的标子。 任何想法? 这样做的更好方法也受到高度赞赏。

$query = "SELECT categories.id, categories.category, spots.spot_name, spots.category_id, spots.description, spots.slug, districts.id, districts.district, tags.spot_id, tags.tag ".
 "FROM categories, spots, districts, tags ".
    "WHERE categories.id = spots.category_id AND districts.id = spots.district_id AND tags.spot_id = spots.id";

$result = mysql_query($query);
if (!$result) {
  die( Invalid query:   . mysql_error());
}

while ($row = @mysql_fetch_array($result)){
echo  <tr><td style="background:#000; color:#ccc;" class="tooltip" title=" .$row["description"]. Tags:  .$row["tag"]. "><a style="color:#fff;" href="/ .$row["slug"]. "> .$row["spot_name"]. </a></td>
<td> .$row["category"]. </td>
<td> .$row["district"]. </td>
<td>****</td>
</tr>  
 ;
}

感谢100万,

Anders

问题回答

Change your Query and add left join like this: $query= "SELECT c.id, c.category, s.spot_name, s.category_id, s.description,". " s.slug, d.id, d.district, t.spot_id, t.tag". " FROM categories AS c, spots AS s, districts AS d". " JOIN tags AS t ON s.id = t.spot_id". " WHERE c.id = s.category_id AND d.id = s.district_id";

这正是你对以下一点的看法:

SELECT c.id, c.category, s.spot_name, s.category_id, s.description, s.slug, d.id, d.district, t.spot_id, t.tag 
  FROM spots AS s
  LEFT JOIN categories AS c ON c.id = s.category_id
  LEFT JOIN districts AS d ON d.id = s.district_id
  LEFT JOIN tags AS t ON t.spot_id = s.id

请大家注意:

SELECT c.id, c.category, s.spot_name, s.category_id, s.description, s.slug, d.id, d.district
  FROM spots AS s
  LEFT JOIN categories AS c ON c.id = s.category_id
  LEFT JOIN districts AS d ON d.id = s.district_id

现在,你可以站在一切地点,并接手:

 SELECT t.tag FROM tags WHERE t.spot_id =  . (int)$spot_id




相关问题
SQL SubQuery getting particular column

I noticed that there were some threads with similar questions, and I did look through them but did not really get a convincing answer. Here s my question: The subquery below returns a Table with 3 ...

please can anyone check this while loop and if condition

<?php $con=mysql_connect("localhost","mts","mts"); if(!con) { die( unable to connect . mysql_error()); } mysql_select_db("mts",$con); /* date_default_timezone_set ("Asia/Calcutta"); $date = ...

php return a specific row from query

Is it possible in php to return a specific row of data from a mysql query? None of the fetch statements that I ve found return a 2 dimensional array to access specific rows. I want to be able to ...

Character Encodings in PHP and MySQL

Our website was developed with a meta tag set to... <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> This works fine for M-dashes and special quotes, etc. However, I ...

Pagination Strategies for Complex (slow) Datasets

What are some of the strategies being used for pagination of data sets that involve complex queries? count(*) takes ~1.5 sec so we don t want to hit the DB for every page view. Currently there are ~...

Averaging a total in mySQL

My table looks like person_id | car_id | miles ------------------------------ 1 | 1 | 100 1 | 2 | 200 2 | 3 | 1000 2 | 4 | 500 I need to ...

热门标签