我的数据库中有一个表格,其中包含我的网站翻译成的语言..让我说我有EN,AR和KU
表格如下:
<form id="addTags">
<label>Friendly Name</label><br />
<input type="text" name="FriendlyName" id="FriendlyName" /><br />
<span style="font-size:9pt;color:#555;"><i>This is used to mark the Category</i></span><br />
<label>URL ShortCode</label><br />
<input type="text" name="ShortName" id="ShortName" /><br />
<h3>
Translate for multilingual use <span style="font-size:9pt;color:red;"><i>*Required</i></span>
</h3><label>عربي</label><br />
<input type="text" name="AR" id="AR" /><br />
<label>English</label><br />
<input type="text" name="EN" id="EN" /><br />
<label>Kurdish</label><br />
<input type="text" name="KU" id="KU" /><br />
<input type="submit" value="Add Cat" class="button" align="center" />
</form>
根据我提到的表格中的语言动态添加最后三个文本输入。 我的问题是..如果我添加第四种语言,我如何在我的PHP脚本中动态捕获$ _POST参数?我想从同一个表中获取Langs并将它们分配为变量。但有可能做这样的事情吗?
<?
while($lang =$result->fetch_array()){
$langID=$lang['langid'];
$input_$langID=$_POST['$langID'];
}
?>
QUICL EDIT 做了类似的事情..这是快速的结果
$get_lang_id = $link->query("SELECT * FROM `tjcgLangs`");
$where = "";
$FriendlyName=mysqli_real_escape_string($link,$_POST['FriendlyName']);
$ShortName=mysqli_real_escape_string($link,$_POST['ShortName']);
$art_lang=$link->query("INSERT INTO table1 (tagFriendlyName,tagShortName) VALUES ('$FriendlyName','$ShortName');");
$insert_id=$link->insert_id;
while($get_lang=$get_lang_id->fetch_array(MYSQLI_ASSOC)){
$language = $get_lang['langISOCode'];
$where .= "($insert_id,'".$_POST[$language]."',".$get_lang['langID']."),";
}
$where = rtrim($where, ",");
$art_lang_m=$link->query("INSERT INTO Table2 (tagMRootID,tagMDispName,tagMLang) values $where");
$get_lang_id->free();
$link->close();
echo "DONE";
答案 0 :(得分:0)
使用如下命名约定:
name="language[EN]"
然后,在PHP中,您可以遍历关联数组$_POST['language']
(假设您将method="post"
添加到表单中)。
foreach ($_POST['language'] as $lang => $user_input) {
do_something_with($lang, $user_input);
}
答案 1 :(得分:0)
或者,您可以遍历所有表单数据,并删除您不需要的字段(例如提交按钮),这样您就可以创建完全动态的查询。这是一个简单的例子:
$exclude = array('submit');
foreach ($_POST as $key => $value) {
if (!in_array($key, $exclude)) {
$query .= $key . "=". $value;
}
}
答案 2 :(得分:0)
制作一系列存储的语言
$ARR_LANGUAGES = ("AR", "EN", "KU");
现在检查是否设置语言
foreach($ARR_LANGUAGE as $language)
{
if(isset($_POST[$language]))
{
echo $language." is Set through post !! <br/>"
}
else
{
echo $language." is Not Set !! <br/>"
}
}