Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于PHP/jQuery的学校项目_Php_Jquery - Fatal编程技术网

基于PHP/jQuery的学校项目

基于PHP/jQuery的学校项目,php,jquery,Php,Jquery,作为a级编程项目的一部分,我正在开发一个家长晚间预订系统,但我刚刚陷入困境。 在这篇文章中,我会尽我所能解释这个项目,这样我就能给你们一个关于这个应用程序的清晰图像 到目前为止: 我用php创建了一种语言选择器函数,它在用户登录之前根据cookie获取语言选择。下面是脚本的代码(是的,现在非常混乱,但我稍后会修复它): 每当我想让我的PHP脚本访问语言文件时,我都会调用我创建的函数,然后在页面上包含语言文件,如下所示: $lang = check_language(); include_once

作为a级编程项目的一部分,我正在开发一个家长晚间预订系统,但我刚刚陷入困境。 在这篇文章中,我会尽我所能解释这个项目,这样我就能给你们一个关于这个应用程序的清晰图像

到目前为止: 我用php创建了一种语言选择器函数,它在用户登录之前根据cookie获取语言选择。下面是脚本的代码(是的,现在非常混乱,但我稍后会修复它):

每当我想让我的PHP脚本访问语言文件时,我都会调用我创建的函数,然后在页面上包含语言文件,如下所示:

$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()创建的数组、对象或字符串。

您的问题很长;您能否尝试将其集中在应用程序的一个特定区域?而且,我认为,“这样做对吗?”更适合于……根据我的经验。。。“现在很乱,但我以后再修”意味着你永远也到不了“以后”