基于PHP/jQuery的学校项目
作为a级编程项目的一部分,我正在开发一个家长晚间预订系统,但我刚刚陷入困境。 在这篇文章中,我会尽我所能解释这个项目,这样我就能给你们一个关于这个应用程序的清晰图像 到目前为止: 我用php创建了一种语言选择器函数,它在用户登录之前根据cookie获取语言选择。下面是脚本的代码(是的,现在非常混乱,但我稍后会修复它): 每当我想让我的PHP脚本访问语言文件时,我都会调用我创建的函数,然后在页面上包含语言文件,如下所示:基于PHP/jQuery的学校项目,php,jquery,Php,Jquery,作为a级编程项目的一部分,我正在开发一个家长晚间预订系统,但我刚刚陷入困境。 在这篇文章中,我会尽我所能解释这个项目,这样我就能给你们一个关于这个应用程序的清晰图像 到目前为止: 我用php创建了一种语言选择器函数,它在用户登录之前根据cookie获取语言选择。下面是脚本的代码(是的,现在非常混乱,但我稍后会修复它): 每当我想让我的PHP脚本访问语言文件时,我都会调用我创建的函数,然后在页面上包含语言文件,如下所示: $lang = check_language(); include_once
$lang = check_language();
include_once($lang);
php文件
$txt['languagename'] = "English";
//text for the index page...
$txt['titletext'] = 'Parents evening booking system';
$txt['welcometext1'] = 'Welcome to the parents evening booking system for ';
$txt['languagename'] = "Cymraeg";
//text am y tudalen index...
$txt['titletext'] = 'System bwcio noson rhieni';
$txt['welcometext1'] = 'Croeso i system bwcio noson rhieni ';
php文件
$txt['languagename'] = "English";
//text for the index page...
$txt['titletext'] = 'Parents evening booking system';
$txt['welcometext1'] = 'Welcome to the parents evening booking system for ';
$txt['languagename'] = "Cymraeg";
//text am y tudalen index...
$txt['titletext'] = 'System bwcio noson rhieni';
$txt['welcometext1'] = 'Croeso i system bwcio noson rhieni ';
例如,如果用户cookie包含“welsh”,那么将包含文件welsh.php,并且我可以访问一个关联数组($txt),以及提供的翻译。
到目前为止,我剧本的这一部分工作得很好
现在我正在编写管理页面,我需要一个选项,可以通过管理面板将学年添加到数据库中。
这就是我有点困惑该怎么做的地方,因为威尔士语中的字符串('year 10'例如)将是'blwydyn 10'。这意味着我需要为所有语言文件的关联数组添加另一个元素,并为所需语言添加一个字符串,以便在脚本中访问它。(如果这有任何意义的话)
我在数据库中为所有语言创建了一个表,如下所示:
languageid name filename
1 English english.php
2 Welsh welsh.php
然后我编写了这段代码来连接数据库,并为数据库中的每种语言创建一个输入框,以及一个“翻译id键”输入框
include'/inc/functions.php');
ConnectToDB();
$query = "SELECT * FROM languages WHERE 1";
$result = mysql_query($query);
$languages = array();
while($row = mysql_fetch_assoc($result)){
$languages[] = $row['name'];
}
echo 'Translation key id: <input type="text" name="languagetermkey"/>';
echo '</br>';
foreach($languages as $item){
echo 'Year name ('.$item. " string):";
echo '<input type="text" name="'.$item.'String'.'"/>'; //e.g "EnglishString"
echo "</br>";
}
这样做对吗?如果没有,有人能指导我朝着正确的方向做什么吗?我只是有点困惑,这是我第一次使用jQuery
我知道这篇文章很长,我非常感谢大家为阅读全文所做的努力
提前感谢您的回复(Y)关于使用AJAX发送数组的部分,您可以序列化一个表单并传递它,这意味着您可以访问它,就像它是来自PHP的普通帖子一样
$.ajax({
type: 'post',
url: 'add_class.php',
data: $('#formID').serialize(),
error: function(){
alert('There was a problem adding the class !');
},
success: function() {
alert("Class has been added successfuly");
}
});
对于“第10年”,您可以使用或类似这样的示例—显示sprintf和vsprintf
$year = 'Year %d';
$yearWelsh = 'Blwyddyn %d';
echo sprintf($year, 10) . ', or in Welsh, we say ' . vsprintf($yearWelsh, array(10));
如果我理解正确,您希望在选择新语言时更改语言cookie。您可以使用jQuery设置此cookie,然后加载页面。然后,Php可以选择正确的语言文件 当然,做同样的事情还有很多其他的方法。希望这能有所帮助。$。ajax是通过jquery发送ajax请求的一种更复杂但有效的方法。你正在寻找这样的东西——或者。方案相同:
$.get('{queryURL}, data, function(response) { /* do something with the response */ });
数据变量可能是由jQuery的form.serialize()创建的数组、对象或字符串。您的问题很长;您能否尝试将其集中在应用程序的一个特定区域?而且,我认为,“这样做对吗?”更适合于……根据我的经验。。。“现在很乱,但我以后再修”意味着你永远也到不了“以后”