Vinnaren i pepparkakshustävlingen!
2011-08-10, 13:49
  #1
Medlem
Tjena!

Har försökt googla men hittar inget exempel som jag förstår.

Jag använder php för att hämta data från min Wordpress-MySQL. Jag behöver en
php-fil där jag stoppar in ett post-id och får tillbaka de tags som är relaterade till
den posten. Jag har bara en tag per post så jag behöver ingen array, utan behöver bara
echo:a ett enda ord.

Jättesjysst om nån vill hjälpa mig!
Citera
2011-08-10, 15:09
  #2
Medlem
Med detta får jag ut ALLA terms, men jag vill bara ha den som tillhör min post...

$postId = 167;

SELECT slug
FROM wp_terms
INNER JOIN wp_term_relationships
ON (wp_term_relationships.object_id = '$postId')
INNER JOIN wp_term_taxonomy ON (
wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id
AND wp_term_taxonomy.taxonomy = 'post_tag')

Fattar inte varför det inte funkar!
Citera
2011-08-10, 15:44
  #3
Moderator
Protons avatar
Citat:
Ursprungligen postat av FaluFluff
Med detta får jag ut ALLA terms, men jag vill bara ha den som tillhör min post...

$postId = 167;

SELECT slug
FROM wp_terms
INNER JOIN wp_term_relationships
ON (wp_term_relationships.object_id = '$postId')
INNER JOIN wp_term_taxonomy ON (
wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id
AND wp_term_taxonomy.taxonomy = 'post_tag')

Fattar inte varför det inte funkar!
Det där ser ju lite lustigt ut, din första join är ju den misstänkte boven, den borde ju vara i ditt wherevillkor ist. Hur hänger tabellerna wp_term_relationships och wp_terms ihop egentligen? innehåller bägge ett object_id eller vad?
Citera
2011-08-10, 15:52
  #4
Medlem
Citat:
Ursprungligen postat av Proton
Det där ser ju lite lustigt ut, din första join är ju den misstänkte boven, den borde ju vara i ditt wherevillkor ist. Hur hänger tabellerna wp_term_relationships och wp_terms ihop egentligen? innehåller bägge ett object_id eller vad?

I wp_terms finns term_id och slug (som jag vill ha ut).

I wp_term_taxonomy finns term_id, term_taxonomy_id samt taxonomy (som beskriver vad det är för typ. I detta fallet vill jag ha de som heter 'post_tag').

I wp_term_relationships finns term_taxonomy_id och object_id (som är postens Id).

Jag har också funderat på ett WHERE, men inte fått det att funka..

Tack!
Citera
2011-08-10, 21:19
  #5
Moderator
Protons avatar
Citat:
Ursprungligen postat av FaluFluff
Med detta får jag ut ALLA terms, men jag vill bara ha den som tillhör min post...

$postId = 167;

SELECT slug
FROM wp_terms
INNER JOIN wp_term_relationships
ON (wp_term_relationships.object_id = '$postId')
INNER JOIN wp_term_taxonomy ON (
wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id
AND wp_term_taxonomy.taxonomy = 'post_tag')

Fattar inte varför det inte funkar!
Nåt sånt här kanske får det att funka?
Kod:
$postId 167;

SELECT slug
FROM wp_terms
INNER JOIN wp_term_relationships
ON wp_terms
.object_id wwp_terms_relationships.object_id
INNER JOIN wp_term_taxonomy ON 
(
wp_term_relationships.term_taxonomy_id wp_term_taxonomy.term_taxonomy_id
AND wp_term_taxonomy.taxonomy 'post_tag')
WHERE (wp_term_relationships.object_id '$postId'
Den där känns mer korrekt iaf, sen om den gör det du tänkt dej är ju en annan sak...
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback