㈠ php在線考試系統,可以自定義試卷的題數,資料庫該怎麼設計
一:題目表
欄位為:題目id,題目標題,題目類型(填空,多選,單選,問答等)
二:答案表
欄位為: 表自增id, 題目ID,答案文字 (如選擇題,一個題目id會對應多個答案)
三: 試卷表
欄位為:表自增id, 試卷名稱,題目ID,分數 (該題在該試卷的分數)
㈡ php考試系統資料庫設計,主要是題庫表和試卷表
1、題庫記錄各種試題
2、試卷是按規則生成出的試題;
3、用戶考試:用戶 關聯 試卷 及試題 ,計算得分
大致就可以了1
㈢ php考試系統怎麼去做
我只說簡單的吧 首先設計數據表questions,questions表包括三個欄位,id,question,answer 分別是,題目ID,題目,題目答案 然後在前台 <?php $num=array(); //保存題目數的數組 for($i=0;$i<$question_num;$i++) //$question_num是要讀取的題目數量 { $b=mt_rand(0,$max_questionID); //這里$max_questionID是說你的數據表中一共幾道題。 while(in_array($b,$num)) { $b=mt_rand(0,$max_questionID); //這個循環是為了防止生成重復的題目號 } $num[]=$b; } ?> 這樣我們就得到了一個保存著要讀取的題目號的數組; 然後就可以連接資料庫進行讀取了 <?php mysql_connect("","",""); mysql_select_db('db'); mysql_query('SET NAMES gb2312'); foreach($num as $value) { $string.=$value.','; } $string=substr($string,0,-1); $sql="select question,answer from questions where id in ($string)"; $r=mysql_query($sql); $answer=array(); $i=0; while($row=mysql_fetch_array($r)) { echo $row['question'].'<br>'; $answer[$i][]=$row['answer']; //把答案保存進一個二維數組 $i++; } $fname=mt_rand(0,1000); $fp=fopen($fname,'w'); fwrite($fp,serialize($answer)); //把序列化後的答案寫入一個隨機生成的文件中; fclose($fp); ?> 添加題目就不用我說了吧?插入數據唄。。。很簡單,不啰嗦了 然後是得分是么? 前台設計的時候要注意,單選框的名字要是一個數組才行,<input type="radio" name="answer[]" value="a"/>類似這樣的,並且創建一個隱藏域<input type="hidden" value="<? echo $fname ?>" name="fname" />這是為了能夠獲得此次考試對應的答案 後台就可以通過這個數組來獲取回答者的答案並且進行判斷了 <?php $answer=$_POST['answer']; $fname=$_POST['fname']; $fp1=fopen($fname,'r'); $content=fread($fp); fclose($fp1); $rightanswer=unserialize($content); 剩下得就是判斷提交的答案是否與正確答案相同了,然後加分數,不用啰嗦了吧? ?>
求採納
㈣ php題庫管理系統中,試卷如何進行難度與覆蓋度分析數據表數量主要由什麼因素決定
這個還是要通過標簽來解決!
每一個題目實數什麼難度!比如:難 中 易
知識點有哪些,都是通過標簽統計!
1,簡單的系統就是有學生或者前台用戶打標簽,根據標簽來做分析!
2. 復雜一點的,智能提取題干關鍵詞,分析,兩者結合!
比如考試總得考點有多少,簡單送分題、容易,難,偏難的題目各佔多少比例,就出出來了!
每道題都有考點,每個考點的題目數占總題目的比例,最後得出考點覆蓋度
題目表裡面應該有: 統計難度的欄位 和 標簽欄位!
數據表數量由你需要存儲的數據量和業務邏輯決定!
比如:題目表(存儲題目),試卷表(存儲試卷),選項表(存儲選項),答案表(存儲正確單答案),解析表(存儲錯題解析等等),管理員表,題目分類表,科目表等等!
㈤ 如何用PHP和MySQL 做一個學生成績管理系統。
下載MYSQL 安裝 創建資料庫
下載PHP環境 WAMP並安裝,下載編輯器例如sublime text,下載熟悉的php框架例如CI 將CI包解壓至wamp的www文件夾下,使用sublime text 打開文件夾,配置CI框架內的資料庫等信息,使用CI框架編寫程序;
㈥ 如何用php編譯倉庫管理系統
這個不是一兩句話能說明白的。1、要熟練php編程和資料庫設計2、要有OA的詳細需求說明書3、根據需求說明來設計數據表和欄位知道這三點基本上就可以做了。
㈦ 用php+mysql做一個題庫系統,上萬題內隨機抽取五百題左右生成考試卷,求最有效率的做法!
php裡面有array_rand函數,你要是一道題一道題的讀出來,或許也可以嘗試一下。但是要是一下子都讀出來,即便這個函數效率可以的話,隨機取出id數組,查詢 「where id in 數組」 就不如直接在資料庫里隨機抽取記錄。
如何從數據表裡隨機抽取記錄呢,想想辦法還是有一些,就是不知道效率如何。有的是說用max_id*rand(),那一條一條抽取還是可以的。怎麼批量隨機抽取呢,可以試著排序,然後選取前500題,排序可以想辦法用一些函數(選取一些執行效率高的),如何md5,sha1,這種。如果為了使結果更具有隨機性,可以把欄位值再與一個隨機數運算一下。僅供參考。
========================
我想你還是用array_rand隨機抽500個id存到數組,然後遍歷數組吧。這樣也避免了題目重復。在資料庫里如果一次一條記錄隨機抽取,要考慮碰巧重復的問題。批量選取你就按上面我說的試試。
㈧ 學生管理系統php源碼誰有
php學生管理系統源碼,供大家參考,具體內容如下
功能:
1.添加/刪除/修改
2.數據存儲.
界面分布:
index.php
--->主界面
add.php --->stu添加
action ---> sql中add/del/update
(處理html表單-->mysql的數據存儲 && 頁面跳轉)
edit.php --->stu修改
menu.php
-->首頁
1. index.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>學生信息管理</title>
<script>
function doDel(id) {
if(confirm('確認刪除?')) {
window.location='action.php?action=del&id='+id;
}
}
</script>
</head>
<body>
<center>
<?php
include ("menu.php");
?>
<h3>瀏覽學生信息</h3>
<table width="500" border="1">
<tr>
<th>ID</th>
<th>姓名</th>
<th>性別</th>
<th>年齡</th>
<th>班級</th>
<th>操作</th>
</tr>
<?php
// 1. 鏈接資料庫
try{
$pdo = new PDO("uri:mysqlPdo.ini","root","1");
}catch (PDOException $e) {
die('connection failed'.$e->getMessage());
}
//2.執行sql
$sql_select = "select * from stu";
//3.data 解析
foreach ( $pdo->query($sql_select) as $row) {
echo "<tr>";
echo "<th>{$row['id']} </th>";
echo "<th>{$row['name']}</th>";
echo "<th>{$row['sex']} </th>";
echo "<th>{$row['age']} </th>";
echo "<th>{$row['classid']}</th>";
echo "<td>
<a href='edit.php?id={$row['id']}'>修改</a>
<a href='javascript:void(0);' onclick='doDel({$row['id']})'>刪除</a>
</td>";
echo "</tr>";
}
?>
</table>
</center>
</body>
</html>
2. add.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>學生管理系統</title>
</head>
<body>
<center>
<?php include ('menu.php'); ?>
<h3>增加學生信息</h3>
<form action="action.php?action=add" method="post">
<table>
<tr>
<td>姓名</td>
<td><input type="text" name="name"></td>
</tr>
<tr>
<td>年齡</td>
<td><input type="text" name="age"></td>
</tr>
<tr>
<td>性別</td>
<td><input type="radio" name="sex" value="男">男</td>
<td><input type="radio" name="sex" value="女">女</td>
</tr>
<tr>
<td>班級</td>
<td><input type="text" name="classid"></td>
</tr>
<tr>
<!-- <td> </td>-->
<td><a href="index.php">返回</td>
<td><input type="submit" value="添加"></td>
<td><input type="reset" value="重置"></td>
</tr>
</table>
</form>
</center>
</body>
</html>
3. action.php
<?php
/**
* Created by PhpStorm.
* User: hyh
* Date: 16-7-7
* Time: 下午9:37
*/
//1. 鏈接資料庫
try{
$pdo = new PDO("uri:mysqlPdo.ini","root","1");
}catch (PDOException $e) {
// echo 'Connection failed: ' . $e->getMessage();
die('connection failed'.$e->getMessage());
}
//2.action 的值做對操作
switch ($_GET['action']){
case 'add'://add
$name = $_POST['name'];
$sex = $_POST['sex'];
$age = $_POST['age'];
$classid = $_POST['classid'];
$sql = "insert into stu (name, sex, age, classid) values ('{$name}', '{$sex}','{$age}','{$classid}')";
$rw = $pdo->exec($sql);
if ($rw > 0){
echo "<script>alter('添加成功');</script>";
}else{
echo "<script>alter('添加失敗');</script>";
}
header('Location: index.php');
break;
case 'del'://get
$id = $_GET['id'];
$sql = "delete from stu where id={$id}";
$rw = $pdo->exec($sql);
if ($rw > 0){
echo "<script>alter('刪除成功');</script>";
}else{
echo "<script>alter('刪除失敗');</script>";
}
header('Location: index.php');
break;
case 'edit'://post
$id = $_POST['id'];
$name = $_POST['name'];
$age = $_POST['age'];
$classid = $_POST['classid'];
$sex = $_POST['sex'];
// echo $id, $age, $age, $name;
$sql = "update stu set name='{$name}', age={$age},sex='{$sex}',classid={$classid} where id={$id};";
// $sql = "update myapp.stu set name='jike',sex='女', age=24,classid=44 where id=17";
print $sql;
$rw = $pdo->exec($sql);
if ($rw > 0){
echo "<script>alter('更新成功');</script>";
}else{
echo "<script>alter('更新失敗');</script>";
}
header('Location: index.php');
break;
default:
header('Location: index.php');
break;
}
4.edit.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>學生管理系統</title>
</head>
<body>
<center>
<?php include ('menu.php');
//1. 鏈接資料庫
try{
$pdo = new PDO("uri:mysqlPdo.ini","root","1");
}catch (PDOException $e) {
die('connection failed'.$e->getMessage());
}
//2.執行sql
$sql_select = "select * from stu where id={$_GET['id']}";
$stmt = $pdo->query($sql_select);
if ($stmt->rowCount() >0) {
$stu = $stmt->fetch(PDO::FETCH_ASSOC); // 解析數據
}else{
die("no have this id:{$_GET['id']}");
}
?>
<h3>修改學生信息</h3>
<form action="action.php?action=edit" method="post">
<input type="hidden" name="id" value="<?php echo $stu['id'];?>">
<table>
<tr>
<td>姓名</td>
<td><input type="text" name="name" value="<?php echo $stu['name'];?>"></td>
</tr>
<tr>
<td>年齡</td>
<td><input type="text" name="age" value="<?php echo $stu['age'];?>"></td>
</tr>
<tr>
<td>性別</td>
<td>
<input type="radio" name="sex" value="男" <?php echo ($stu['sex'] == "男")? "checked":"";?> >男
</td>
<td>
<input type="radio" name="sex" value="女" <?php echo ($stu['sex'] == "女")? "checked":"";?> >女
</td>
</tr>
<tr>
<td>班級</td>
<td><input type="text" name="classid" value="<?php echo $stu['classid']?>"></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" value="更新"></td>
<td><input type="reset" value="重置"></td>
</tr>
</table>
</form>
</center>
<?php
?>
</body>
</html>
5. menu.php
<!DOCTYPE html>
<html lang="en">
<body>
<h2>學生管理系統</h2>
<a href="index.php"> 瀏覽學生</a>
<a href="add.php"> 添加學生</a>
<hr>
</body>
</html>
㈨ 如何快速用PHP做一個管理系統
這要看選擇的什麼程序,網站後台功能跟網站程序是密切相關的,選擇什麼樣的程序,後台就有配套的功能。在使用之前。先做好以下幾點,保證後台可以正常使用。 第一:成功安裝好系統,特別是PHP的,都是要先安裝完成以後,才可以進入後台。