4

我想创建在线数学测验,所有问题和答案以及正确答案都存储在 mysql 数据库中。我有二次方程之类的。

在此处输入图像描述

现在我如何在数据库表列和数据库列类型中插入完全相同的问题公式或方程式及其答案blob

插入公式或方程式后的数据库列

在此处输入图像描述

插入查询

if(isset($_REQUEST['submit']))
{
$class1=$_POST['class1'];   
$subjects1=$_POST['subjects1'];
$lessons=$_POST['lessons'];
$marks=$_POST['marks'];

$length = count($_POST['ques']);
for($i=0; $i<$length; $i++)
{
$query=mysql_query("INSERT INTO quiz 
VALUES ('','$class1','$subjects1','$lessons',
'".$_POST['ques'][$i]."','".$_POST['ans1'][$i]."',
'".$_POST['ans2'][$i]."','".$_POST['ans3'][$i]."','".$_POST['ans4'][$i]."',
'".$_POST['corans'][$i]."','$marks')") or die ("quiz insert query");    

 }
 }

我可以使用 MathJax 是一个用于测验的开源 JavaScript,它适用于 php 和 mysql 数据库查询吗?

4

1 回答 1

4

您的问题对我来说仍然很不清楚,但我会尽力回答。我现在理解的方式是,有人(老师)正在编写一个问题,包括公式,而许多其他人(学生)应该从一组固定的选项中选择正确的答案。所以只有问题的作者必须将数学公式输入系统,而学生必须看到漂亮的数学渲染。

您写下(在评论中)您打算将等式粘贴到网页中。我不知道您打算从其他应用程序中粘贴它。

手动输入 LaTeX 符号

我确实知道大多数专业数学家在用 LaTeX 理解他们的方式写下方程时可能会感到最自在。这是 MathJax 几种可能的输入格式之一。对于您的公式,LaTeX 标记可能如下所示:

f(x) = a_0 + \sum_{n=0}^\infty \left(
  a_n\cos\frac{n\pi x}{L} +
  b_n\sin\frac{n\pi x}{L}
\right)

因此,一种可能的方法是提供一个文本区域,用户可以在其中输入这样的标记。然后,您可以将该标记存储在数据库中,并使用 MathJax 在生成的 HTML 页面中呈现一个很好的公式。

使用外部编辑器

如果您坚持使用外部编辑器来编写公式,则必须提供更多详细信息。你心目中的编辑器是什么?他们以什么格式在剪贴板上提供文档?他们可以以任何已建立的数学符号格式导出到文件吗?

最可能的解决方案是让外部编辑器以某种方式导出 MathML 文件。然后可以上传该文件(这是一种 XML 格式)(使用文件上传表单元素)并存储在数据库中,或者直接嵌入到 HTML 中,从而依赖于现代浏览器提供的开箱即用的数学渲染,或者再次用作 MathJax 的输入,以增加旧版或行为不端的浏览器的可移植性。

于 2013-10-31T22:46:54.863 回答