我有一个用瑞典语写有鱼名的表,看起来像这样:
FishID|SwedishName|Habitat
我有每条鱼的所有瑞典名字,但我也想要英文名字,我希望它看起来像这样:
FishID|SwedishName|EnglishName|Habitat
有没有办法把每条鱼的瑞典名字翻译成英语并插入"EnglishName"栏?
有没有办法把每条鱼的瑞典名字翻译成english并将其插入"EnglishName"列中?
除非你使用API,否则你需要将英文版本插入到你的DB中,如果你有一个列表或数组准备插入,这将是三重的,但如果你没有,你可能需要做这样的事情,在那里你选择所有行,然后创建一个基本的表单表,你可以在其中列出并放置英文等价物。
<?php
//connect
try {
$db = new PDO('mysql:host=127.0.0.1;dbname=fish_db', 'username', 'password');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$db->exec("SET CHARACTER SET utf8");
} catch(PDOException $e) {
echo 'Sorry there is a problem with the database connection :' . $e->getMessage();
}
//update if POST'ed form
if($_SERVER['REQUEST_METHOD'] == 'POST'){
foreach($_POST['EnglishName'] as $key => $value){
$stmt = $db->prepare('UPDATE fish_table
SET EnglishName = :EnglishName
WHERE FishID=:FishID');
$stmt->bindValue(':EnglishName', $value);
$stmt->bindValue(':FishID', $key);
$stmt->execute();
}
}
//select rows
try{
$stmt = $db->prepare('SELECT * FROM fish_table WHERE EnglishName = ""');
$stmt->execute();
$fishs = $stmt->fetchAll(PDO::FETCH_ASSOC);
}
catch(PDOException $e) {
echo 'Error: ' . $e->getMessage();
}
?>
<form method="post" action="">
<table>
<?php foreach($fishs as $fish):?>
<tr>
<td width="50%"><input type="text" name="swedish[<?php echo $fish['FishID']?>]" value="<?php echo $fish['SwedishName']?>"></td>
<td width="50%"><input type="text" name="english[<?php echo $fish['FishID']?>]" value=""></td>
</tr>
<?php endforeach;?>
</table>
<input type="submit" name="Submit" value="Submit" >
</form>
或者使用phpmyadmin;p