我计划使用jQuery Mobile和PHP开发一个学生进度卡应用程序,MySQL数据库作为后端。这主要用于教师在数据库中记录他们修改过的试卷的分数。
我在studentlist.php中有一份学生名单,在scoresheet.php中有一张包含各种科目分数的成绩表(如下所示)
学生列表从MySQL数据库中提取到studentlist.php 中
点击一个列表项(比如"Student1"),您将进入记分表.php。
scoresheet.php中的所有条目都需要保存在Student 1的数据库中。
我想知道,是否可以为每个列表项创建一个值,并使用会话将该变量传递给scoresheet.php。
有人能帮我举个简单的例子吗?
学生名单将类似于此:http://jquerymobile.com/test/docs/lists/lists-divider.html
Scoresheet.php看起来像这样:
学生成绩卡列表
<body>
<div data-role="page" id="page">
<div data-role="header">
<a href="" rel="external" data-ajax="false" data-role="button" data-icon="home" data-theme="b"> Dashboard </a>
<h4> Contractor's List </h4>
</div>
<div data-role="content">
<div data-role="fieldcontain">
<ul data-role="listview" data-inset="true">
<li> <label for="slider-2">Subject1</label>
<input type="range" name="subject1" id="subject1" value="0" min="1" max="10" />
</li>
<li> <label for="slider-2">Subject2</label>
<input type="range" name="subject2" id="subject1" value="0" min="1" max="10" />
</li>
</ul>
</div>
</div>
<div data-role="footer">
<h6>2012 © </h6>
</div>
</div>
</body>
我通过URL:传递变量的示例
studentlist.php:
<?Php
$sql= 'SELECT student_id, student_name FROM students';
$result=mysql_query($sql);
$num=mysql_num_rows($result);
echo $num;
?>
<div data-role="content">
<div data-role="fieldcontain" data-theme="b">
<ul data-role="listview" data-inset="true">
<li data-role="list-divider"> List of Contractors </li>
<?php
$i=0;
while ($i < $num) {
$f1=mysql_result($result,$i,"student_id");
$f2=mysql_result($result,$i,"student_name");
?>
<li>
<a href="scoresheet.php?id= <?Php echo $f1; ?> ">
<h3> <?Php echo $f2;?> </h3>
</a>
</li>
<?php
$i++;
}
?>
</div>
现在,我将使用scoresheet.php中的变量"id",使用MySQL查询更新表中的记录。
会话数据还可以存储更复杂的数据类型,如多维数组。你可以做一些类似的事情:
$student_id = $_POST['student_id'];
$_SESSION['student_data'][$student_id]['subject_1'] = $_POST['subject_1'];
$_SESSION['student_data'][$student_id]['subject_2'] = $_POST['subject_2'];
希望能有所帮助。
如果我理解您的问题,您有被分配会话Id的用户。您希望让php脚本文件在进行更新时接收Scoresheet更新,以保留会话Id信息。
处理它的一个简单方法是将会话id值放入表单操作url中。
<form action="scoresheet.php?sessionId=<?php echo $_SESSION['sessionId']; ?>" id="formScoresheet">
但是,如果您使用POST方法,您可能希望做一些更优雅的事情,比如将会话id放置在隐藏的输入中。
<input type="hidden" id="sessionId" name="sessionId" value="<?php echo $_SESSION['sessionId']; ?>" />
看看这个例子,也许它会有所帮助——http://jsfiddle.net/shanabus/CbkpH/
不过,这一切似乎有点多余,因为服务器应该管理SESSION变量,而不必将它们传递到页面并返回。如果你正在寻找一些基本的PHP会话示例,你可以从这里开始。基本上,您必须根据studenlist.php
文件的初始请求启动会话,然后确保在使用scoresheet.php
上的值之前启动会话。