multiple languages

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
ksamole
Δημοσιεύσεις: 92
Εγγραφή: 08 Οκτ 2006 04:43

multiple languages

Δημοσίευση από ksamole » 31 Δεκ 2008 06:45

και τι query θα κανω για να κανω με αυτο τον τροπο list ολες τις κατηγοριες

οχι μια μια κατηγορια που τις δειχνει το αποπανω query ?

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

multiple languages

Δημοσίευση από dva_dev » 31 Δεκ 2008 21:05

Αφησα και το priority για να μπορείς να δεις σε ποιά γλώσσα βρήκε τη μετάφραση της κατηγορίας. Το 0 όπως και πριν σημαίνει ότι το βρήκε στη γλώσσσα που επέλεξες (στο παράδειγμα είναι languages.`id` = 3. Αλλαξε το στα 2 σημεία που υπάρχει για να έχεις τη γλώσσα που θέλεις.

Κώδικας: Επιλογή όλων

select `key`, `title`, `priority`
from 
(
	select categories.`key`,  categories_lang.`title`, 0 `priority`
	from
		categories inner join categories_lang on (categories.`id` = categories_lang.`categoryid`)
		inner join languages on (categories_lang.`langid` = languages.`id`)
	where
		languages.`id` = 3

    union

	select categories.`key`,  categories_lang.`title`, min(languages.`priority`)
	from
		categories inner join categories_lang on (categories.`id` = categories_lang.`categoryid`)
		inner join languages on (categories_lang.`langid` = languages.`id`)
		left outer join 
		(
			select categories.`key` /*, languages.`priority`, languages.`id` `langid`*/
			from
				categories inner join categories_lang on (categories.`id` = categories_lang.`categoryid`)
				inner join languages on (categories_lang.`langid` = languages.`id`)
			where
				languages.`id` = 3
  		) intern
  		on (categories.`key` = intern.`key`)
	where
		intern.`key` is null
    group by `key` 
)tmp

ΥΓ. Οπως θα παρατηρήσεις βγήκε ο κώδικας (categories.`key` = 'cars') που το περιόριζε μόνο σε μια κατηγορία, αλλά δυστυχώς μεγάλωσε λίγο ακόμα. Αν εξακολουθήσεις να ζητάς στο τέλος θα γίνει σεντόνι.

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης