Я попытаюсь объяснить это так, как я могу. Я создаю функцию перевода, и она основана на каждом тексте, имеющем значение кода. Например: заголовок для определенной страницы имеет код и значение, связанное с кодом.
У меня есть 2 таблицы: переводы: где хранятся все коды и значения и таблица, где есть только сам код, и она проходит через функцию, которая берет ее через таблицу переводов:
public function T($code) {
$value = $code;
$db_value = $this->db->getRow("SELECT value FROM translations WHERE code = '".$code."'");
if($db_value) {
$value = $db_value['value'];
}
return $value;
}
GetRow - это настраиваемая функция, которая выбирает один столбец из таблицы:
function getRow() {
$func_num_args = func_num_args();
$func_get_args = func_get_args();
if ($func_num_args == 0) {
return null;
} else if ($func_num_args == 1) {
$this->query($func_get_args[0]);
} else {
$args = array();
$query = $func_get_args[0];
unset($func_get_args[0]);
foreach ($func_get_args as $arg) {
if (is_string($arg) && !is_numeric($arg)) {
$args[] = mysqli_real_escape_string($this->conn, $arg);
} else {
$args[] = $arg;
}
}
$this->query(vsprintf($query, $args));
}
return ($this->rows() ? $this->fetch() : null);
}
Теперь, создав страницу администрирования для сайта, я столкнулся с проблемой, я хочу, чтобы код текстов был скрытым и отображал текст, который представляет код. Мой текущий избранный выглядит немного похоже на это: он не работает, однако он выбирает только столбцы, но не находит никаких строк:
SELECT vc.*,
t.code,
t.value
FROM vakances_card AS vc
JOIN translations AS t
ON vc.title = t.code
AND vc.descr = t.code
Я не уверен, чего именно вы хотите достичь. Вы можете изменить свой запрос на
SELECT vc. *, T.code, t.value FROM vakances_card AS vc JOIN translations AS t ON vc.title= t.code AND vc.descr = t.code
К следующему запросу
SELECT vc. *, T.code, t.value FROM vakances_card AS vc LEFT JOIN translations AS t ON vc.title= t.code AND vc.descr = t.code
Или может измениться на
SELECT vc. *, T.code, t.value FROM vakances_card AS vc RIGHT JOIN translations AS t ON vc.title= t.code AND vc.descr = t.code
Надеюсь, вы получите все нужные строки.