0
我有一组两个表。 message_table,id,language_id,message_id,消息和语言表设置为id,language。如何避免在循环中运行MySQL查询?
我需要1)显示结果显示哪些消息已经从语言1翻译成语言2和2)还显示语言1中的哪些消息尚未翻译。尚未翻译的消息不在messages_table中。
入门第一步工作是很容易:
SELECT message_table.message AS start, end.message AS end FROM message_table LEFT JOIN message_table AS end ON (end.message_id = message_table.message_id message_table.id != end.id AND message_table.language_id = '$start' AND end.language_id='$end'
但我需要它返回的结果为尚未翻译的消息。
基本上,我需要做下面的发生是出了另一个MySQL查询中循环MySQL查询:
$items = $this->query("SELECT message_id, message FROM message_table WHERE language_id = '$start'");
foreach($items as $result) {
$message_id = $result['message_id'];
$returns = $this->query("SELECT * FROM message_table WHERE language_id = '$end' AND message_id = '$message_id'");
if(!empty($returns)) {
foreach($returns as $return) {
echo "English: " . $result['message'] . "<br>";
echo $return['message'] . '<br><br>';
}
} else {
echo "English: " . $result['message'];
echo "<br>none<br><br>";
}
}
是否可以为'$ returns'返回多个结果,还是只是单个记录? – mellamokb 2011-02-25 16:39:40