对 php 来说相当新,目前正在使用 MySQL 数据库作为翻译源进行多数组搜索词到词的翻译。我使用 1 个有 2 列的表。第一列是语言 1,第二列是语言 2。语言 2 是语言 1 的翻译。这个过程是我想搜索多个翻译形式语言 1 并显示翻译 2 的输出。比如说用户输入来自语言 1 的“word3 word2 word5 word4 word1”和语言 2 的输出应该与输入的顺序相同,例如“translation3 translation2 translation5 translation4 translation1”。但是在我的 sql 查询中使用 OR 将字符串拆分为数组后,结果会按数据库顺序显示。如果我不使用 OR,则不会显示结果。所以我要解决的问题是:
- 根据用户输入显示翻译结果
- 使用用户准确输入的单词来查找翻译
- 如果可能的话,用重复的输入词显示翻译结果,如 word1 word1 word1 = translation1 translation1 translation1。
如果您有任何解决方案,请提供帮助,因为我似乎无法在互联网上找到任何解决方案。谢谢。这是我的代码
<?php
if(isset($_POST['transl']))
{
$keyword = mysqli_real_escape_string($con, $_POST['input_text']);
$keys = explode(" ",$keyword);
$sql = "SELECT * FROM language WHERE language_1 = '".$keyword."' " ;
foreach($keys as $k){
$sql .= " OR language_1 = '".$k."' ";
}
$result = mysqli_query($con, $sql);
if($result){
while($row = mysqli_fetch_assoc($result)){
echo $row['language_2'];
}
}
echo $sql;
}
?>