我遇到了一個mysql_fetch_assoc
腳本,我希望你可以幫忙。問題與mysql_fetch_assoc
背景: 我使用典型的MySQL查詢檢索我的網站的一部分數據,並從我的主表中回顯各個領域等的結果,其結構不重要,但具有唯一的ID是'job_id'
爲了有多個類別與'job_id'相關聯,我使用了一個toxi解決方案,將catgories與每個'job_id'相關聯。
TABLE `tags` (
`tag_id` INT NOT NULL AUTO_INCREMENT,
`tag_name` VARCHAR(20) NOT NULL,
PRIMARY KEY (`tag_id`)
)
CREATE TABLE `tag_relational` (
`job_id` INT NOT NULL,
`tag_id` INT NOT NULL
)
當我回聲出從主表中的信息(使用「JOB_ID」)我也想回音ID使用這是JOB_ID是針對匹配所有名作,:
$query = "SELECT * FROM tags t
JOIN tag_relational r
ON t.tag_id=r.tag_id
WHERE r.job_id = $job_id";
$result=mysql_query($query) or die(mysql_error());
$cats=mysql_fetch_assoc($result);
在我的代碼我使用這個呼應了匹配名作:
<p>Job Catagories | <?php while ($cats=mysql_fetch_assoc($result)) { echo $cats['tag_name'];}?></p>
我有兩個問題:
- 上面的回聲似乎忽略了第一個標籤名稱,所以如果一個工作被標記了六個分類,它只會迴響五個。如果一個工作只有一個標籤,我什麼也得不到。該查詢在SQL shell中工作,所以我假設問題在於PHP。
- 當我得到多個回聲,我希望能用逗號或|來分隔它們,但我不熟悉在查詢中使用
group_concat
,所以我也可以在那裏使用一些幫助。
我愛的人SO。謝謝,這已經完成了問題1的訣竅。我想留下這個問題,看看是否有人可以幫助解決問題2,但是這個問題很重要,謝謝。 – Dan
我想我的編輯,現在也應該解決這個問題。在我完成之前意外地發佈了它。 –
我似乎得到了一個錯誤first = else(unexpected =)? – Dan