Jag har en tabell som heter category, med fält category_id, language_id, category_name. Det är tänkt att jag ska hämta en kategoris namn beroende på vilket språk användaren har valt. Nu vill jag dock att standardspråket (1) ska användas ifall det valda språket (2) råkar sakna översättning.
Funderade på om det går att göra på ett smidigare sätt än som som jag gör nu (en aning förkortad kod nedan för överskådlighetens skull):
Kod:
// Standardspråket
$query = "SELECT category_id, category_name FROM category WHERE language_id=1";
$result = mysql_query($query);
while ($o = mysql_fetch_object($result)) {
$categories[$o->category_id]->category_name = $o->category_name;
}
mysql_free_result($result);
// Översättning till annat språk som användaren råkar ha valt (språket har t ex id 2)
$query = "SELECT category_id, category_name FROM category WHERE language_id=2";
$result = mysql_query($query);
while ($o = mysql_fetch_object($result)) {
if (!empty($o->category_name)) {
$categories[$o->category_id]->category_name = $o->category_name;
}
}
mysql_free_result($result);
Det känns som att det går att åstadkomma det jag önskar med en smartare SQL-sats. Eller har jag fel? Något tips på smartare sätt att göra, eller är det inga större fel på min kod ovan?