php多项选择数据保存 php多项选择数据保存不了

用PHP做多项选择题,数据库怎么设计, 代码怎么写....

数据库的设计本人认为可以这样,提交表单应该再设置一个隐藏域,储存题目ID,例如

创新互联建站专注为客户提供全方位的互联网综合服务,包含不限于成都网站建设、做网站、乌鲁木齐网络推广、小程序开发、乌鲁木齐网络营销、乌鲁木齐企业策划、乌鲁木齐品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联建站为所有大学生创业者提供乌鲁木齐建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com

" name="an_id"

处理页面可以使用将获取到的答案数组

$_POST['itm']进行遍历,用循环$value查找question,可以使用函数strpos(),该函数如果返回数字,则是正确答案,如果返回false,则是错误答案

if(isset($_POST['an_id'])){

$an_id = $_POST['an_id'];

$qus_sql = "select `question` from `vote_answer` where id = $an_id";

$query = mysql_query($qus_sql);

while($row = mysql_fetch_row($query)){

$question = $row[0];

}

$user_question = $_POST['itm'];

foreach($user_question as $value){

if(strpos($question,$value){

echo '正确答案';

}else{

echo '错误答案';

}

}

}全手写代码,有错误请百度HI我!

PHP中如何将多选的checkbox值存入数据库?又如何输出到smarty模板?

HTML可以这样写input type="checkbox" value="中国" name="Country[]" 所有的复选框都用 name="Country[]" 这样提交上去那边 PHP 收到的这个值 就直接是一个数组 $_POST['Country'] 这个取得的就是一个数组,当然表单要以POST方式提交。然后可以像另一位朋友说的那样来保存。取出来的时候再 explode(',',字段内容) 来折分成数组,就好处理了。

如果你实在不明白,可以百度HI上找我。

PHP 中如何将多选的 checkbox 值存入数据库?

?php

if(!empty($_POST["t1"]))

{

$array = $_POST["t1"];

$str =implode(',',$array);

echo $str."br"; //输出 篮球,足球,乒乓球,排球 //$str 存入数据库

$arr=explode(',',$str);//从数据库取出数据时用。

print_r($arr);//输出 Array ( [0] = 篮球 [1] = 足球 [2] = 乒乓球 [3] = 排球 ) //数据库输出用explode变回数组array

$serialize=serialize($array);

echo "br".$serialize."br"; //输出 a:4:{i:0;s:4:"篮球";i:1;s:4:"足球";i:2;s:6:"乒乓球";i:3;s:4:"排球";} 存入数据后也是这样子。

$unserialize = unserialize($serialize);

print_r($unserialize); //输出 Array ( [0] = 篮球 [1] = 足球 [2] = 乒乓球 [3] = 排球 ) 变回array

}

?

form method=post action="" name="form1"

input type="checkbox" name="t1[]" value="篮球"篮球br

input type="checkbox" name="t1[]" value="足球"足球br

input type="checkbox" name="t1[]" value="乒乓球"乒乓球br

input type="checkbox" name="t1[]" value="排球"排球br

input type="submit"

/form

PHP表单多条数据储存

不知道的情况,先获取打印出来,你就知道了。

获取出来的是个数组,也就是相同名字归为一个数组,然后你通过 循环一个个的赋值插入即可。

类似:

获取到的值: $arr = array( 'xmuser'=array(0='x',1='y') , 'bumen'=array(0='x1',1='y'1) );

计算数组内最大值,直接 count( $arr['xmuser'] ) ;

他是按顺序来接收数值的,所以,按照顺序:0、1、2、3 ... 赋值变量插入即可。 或者你可以改成MySQL 的 批量插入方法,一样。 量不大都可实现。 MySQL 批量插入是有一个峰值的。

for 或 foreach 直接循环 就行。 自己练着写吧。

怎样把一个多选框组中被选中的数据保存在一个数组中 - PHP进阶讨论

多选框..注意name后面有[]for($i=0;$i\" method=\"POST\"[i]a[i]b[i]c[i]d[i]e[i]f[i]

php 如何从数据里选择所需要信息然后生成csv文件自动保存在指定的路径?(不提示保存,自动)

命令行模式下,或者web模式下保存的路径在服务器中,可以达到你的要求(有该路径的权限即可)

如果是在web模式下,不提示直接保存到访客的电脑中的某个位置,是不可以的。

web模式保存到客户端,只能通过下载,由用户指定,或保存到默认的下载目录。

以下是代码示例:

$dsn = 'mysql:dbname=testdb;host=127.0.0.1';

$user = 'dbuser';

$password = 'dbpass';

//连接数据库 pdo

try {

$dbh = new PDO($dsn, $user, $password, array(PDO::MYSQL_ATTR_INIT_COMMAND = "SET NAMES 'UTF8'"));

} catch (PDOException $e) {

echo 'Connection failed: ' . $e-getMessage();exit;

}

//读取数据, 具体sql你根据情况修改

$stat = $dbh-prepare('SELECT * FROM `table` WHERE `id`0 LIMIT 100;');

$stat-execute();

$result = $stat-fetchAll(PDO::FETCH_ASSOC);

//创建csv文件并打开文件指针

$filepath='file.csv';

$fp = fopen($filepath, 'w');

//写入数据

foreach($result as $i=$row){

//写入标题行

if($i==0){

fputcsv($fp, array_keys($row));

}

fputcsv($fp, $row);

}

//关闭文件指针

fclose($fp);

//把文件输出到下载

$file = fopen($filepath,"r"); // 打开文件

$size=filesize($filepath);

Header("Content-type: application/octet-stream");

Header("Accept-Ranges: bytes");

Header("Accept-Length: ".$size);

Header("Content-Disposition: attachment; filename=download.csv");

echo fread($file,$size);

fclose($file);

相关知识点:

PHP: fputcsv

PHP:PDO

数据库查询的时候只返回列名,防止列出现重复,csv里会有重复的数据


本文标题:php多项选择数据保存 php多项选择数据保存不了
文章起源:http://azwzsj.com/article/hgdeco.html