我会尽可能解释清楚这一点。我正在创建一个翻译函数,它基于每个具有编码值的文本。例如:某个页面的标题有一个代码和一个与该代码相关联的值。
我有两个表: translations:保存所有代码和值的地方,还有一个表,其中只有代码本身,它通过一个函数遍历转换表:
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发布于 2018-07-27 17:59:28
我不确定你到底想要达到什么目的。您可以将查询更改为
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.codehttps://stackoverflow.com/questions/51554100
复制相似问题