【发布时间】:2015-11-26 14:52:52
【问题描述】:
我的数据库中有两个表,名称分别为 language 和 language_variables。
在language 表中,我存储了语言,并且在language_variables 中具有所有语言中特定单词的值。
language的数据库结构和数据
id, title, short_code, type enum('ltr', 'rtl'), default enum('yes', 'no'), status enum('on', 'off')
1, English, en, ltr, yes, on
2, Urdu, ur, rtl, no, on
language_variables的数据库结构和数据
id, language_id, keyword, value
1, 1, str_word, this is simple string
2, 2, str_word, اس سادہ سلک ہے
3, 1, str_word2, this is 2nd string
我想要的输出
我想显示关键字str_word 一次并显示相同关键字的语言列表下拉列表。
我的输出中的问题
我的 SQL 查询是
SELECT
lv.id, lv.language_id, lv.keyword, lv.`value`, l.title
FROM language_variable AS lv
INNER JOIN `language` AS l ON l.id = lv.language_id
GROUP BY lv.keyword
ORDER BY lv.id DESC
我的看法
<?php
foreach($records as $record)
{
?>
<div class="banner-row1">
<div class="banner-row-text">
<h2><?=$record->keyword?></h2>
<p class="text-muted">
<small>
Value: <?=$record->value?><br />
Languages:
<select id="language_id" required>
<option></option>
<?php
foreach($languages as $language)
{
echo '<option value="'.$record->id.'">'.$language->title.'</option>';
}
?>
</select>
</small>
</p>
</div>
<div class="clr"></div>
</div>
<?php
}
?>
【问题讨论】:
-
请填写您想要的 html 输出和您获得的 html 输出(以及包含如何生成 $language 和 $records 的 php 代码)。顺便说一句,我在您的语言循环中发现了一些问题,您显示的语言标题以记录 ID 作为值(而不是语言 ID)。
-
@Asenar 实际上我只想在下拉列表中显示可用并与
language_id链接的语言是 DB。 -
您的代码中仍然存在“逻辑”问题。如果标签为
language->title,record->id不应在值中。 -
@Asenar 你是对的。你的观点是正确的我已经改变了变量。因为这并不能解决真正的问题。
-
您想只显示语言名称(
English)还是与该语言匹配的实际值(this is simple string,或English: this is simple string)? (顺便说一句,您没有在视图中更改您的 var)
标签: php mysql codeigniter codeigniter-3