rand.php 从数据库中随机获取试题NUM道试题的id号,并用SESSION存储....<?php
session_start();
mysql_connect("localhost","root","123456")or die("无法连接MySQL服务器");
mysql_select_db("klm")or die("无法连接数据库");
mysql_query("SET NAMES GBK"); //Make The MySQL Database could accept cn
define("NUM",3); //定义随机取题的数目
$query=mysql_query("select qid from question where chapter='$_GET[chapter]'");
while($row=mysql_fetch_row($query)){
$id[]=$row[0];//用数组$id接收值
}
$rand_key=array_rand($id,NUM);//在数组中随机获取NUM道试题的键名key,并赋给数组
for($i=0;$i<NUM;$i++){
$rand_id[]=$id[$rand_key[$i]];//用$rand_id存放要输出到页面的试题id
}
$_SESSION['$rand_id']=$rand_id;
print_r($rand_id);
mysql_close();
?>
print.php 假设总记录数NUM=100,每页显示20条记录,要有首页、尾页、上一页、下一页以及数字1、2、3、4、5的列表..<?php
session_start();
mysql_connect("localhost","root","123456")or die("无法连接MySQL服务器");
@mysql_select_db("klm")or die("无法连接数据库");
mysql_query("SET NAMES GBK"); //Make The MySQL Database could accept cn$rand_id=$_SESSION['$rand_id'];
define("NUM",3); //定义随机取题的数目
//print_r($rand_id);
?>
<form action="../user/save.php" method="post">
<div align="center">
<table width="800">
<?php
for($i=0;$i<NUM;$i++){
$j=$i+1;
$key=$i+NUM;//使得传递key和传递choice的name区分开来,以免在save.php中进行评分时出现错误
$query=mysql_query("select * from question where qid='$rand_id[$i]'");//我是利用for循环从数据库中一笔一笔地抓取资料,然后再输出到页面上
$rs=mysql_fetch_array($query,MYSQL_ASSOC);//得到一个关联索引的数组
?>
<tr>
<td>
题目<?php echo $j.".".$rs[question];?>( )
</td>
</tr>
<tr>
<td>
<input type="radio" name="<?php echo $i;?>" value="A"/>A. <?php echo $rs[option1];?>
</td>
</tr>
<tr>
<td>
<input type="radio" name="<?php echo $i;?>" value="B"/>B. <?php echo $rs[option2];?>
</td>
</tr>
<tr>
<td>
<input type="radio" name="<?php echo $i;?>" value="C"/>C. <?php echo $rs[option3];?>
</td>
</tr>
<tr>
<td>
<input type="hidden" name="<?php echo $key;?>" value="<?php echo $rs[key];?>"/>
</td>
</tr>
<?php
}//结束循环
mysql_close();
?>
</table>
</div>
<p>
<div align="center">
<input type="submit" name="save" value="保存交卷"/>
</div>
</form>
网上查了很多资料,也试着写了多次,就是搞不出来。谁能给个详尽的代码?
session_start();
mysql_connect("localhost","root","123456")or die("无法连接MySQL服务器");
mysql_select_db("klm")or die("无法连接数据库");
mysql_query("SET NAMES GBK"); //Make The MySQL Database could accept cn
define("NUM",3); //定义随机取题的数目
$query=mysql_query("select qid from question where chapter='$_GET[chapter]'");
while($row=mysql_fetch_row($query)){
$id[]=$row[0];//用数组$id接收值
}
$rand_key=array_rand($id,NUM);//在数组中随机获取NUM道试题的键名key,并赋给数组
for($i=0;$i<NUM;$i++){
$rand_id[]=$id[$rand_key[$i]];//用$rand_id存放要输出到页面的试题id
}
$_SESSION['$rand_id']=$rand_id;
print_r($rand_id);
mysql_close();
?>
print.php 假设总记录数NUM=100,每页显示20条记录,要有首页、尾页、上一页、下一页以及数字1、2、3、4、5的列表..<?php
session_start();
mysql_connect("localhost","root","123456")or die("无法连接MySQL服务器");
@mysql_select_db("klm")or die("无法连接数据库");
mysql_query("SET NAMES GBK"); //Make The MySQL Database could accept cn$rand_id=$_SESSION['$rand_id'];
define("NUM",3); //定义随机取题的数目
//print_r($rand_id);
?>
<form action="../user/save.php" method="post">
<div align="center">
<table width="800">
<?php
for($i=0;$i<NUM;$i++){
$j=$i+1;
$key=$i+NUM;//使得传递key和传递choice的name区分开来,以免在save.php中进行评分时出现错误
$query=mysql_query("select * from question where qid='$rand_id[$i]'");//我是利用for循环从数据库中一笔一笔地抓取资料,然后再输出到页面上
$rs=mysql_fetch_array($query,MYSQL_ASSOC);//得到一个关联索引的数组
?>
<tr>
<td>
题目<?php echo $j.".".$rs[question];?>( )
</td>
</tr>
<tr>
<td>
<input type="radio" name="<?php echo $i;?>" value="A"/>A. <?php echo $rs[option1];?>
</td>
</tr>
<tr>
<td>
<input type="radio" name="<?php echo $i;?>" value="B"/>B. <?php echo $rs[option2];?>
</td>
</tr>
<tr>
<td>
<input type="radio" name="<?php echo $i;?>" value="C"/>C. <?php echo $rs[option3];?>
</td>
</tr>
<tr>
<td>
<input type="hidden" name="<?php echo $key;?>" value="<?php echo $rs[key];?>"/>
</td>
</tr>
<?php
}//结束循环
mysql_close();
?>
</table>
</div>
<p>
<div align="center">
<input type="submit" name="save" value="保存交卷"/>
</div>
</form>
网上查了很多资料,也试着写了多次,就是搞不出来。谁能给个详尽的代码?
$rs=mysql_fetch_array($query,MYSQL_ASSOC);//得到一个关联索引的数组 where qid in("数组") limit $page,$pagesize
得一个结果集就可以了,不要反复求分页代码很多,baidu
比如: localhost/test.php?page=10那么这个SQL语句就变成
$sql = "SELECT * FROM table_name WHERE conditions LIMIT 9*$length, $length";
你下哈子,里面是讲的分页.
错误信息: mysql_fetch_array(): supplied argument is not a valid MySQL result resource