数组传值问题! 本帖最后由 xuzuning 于 2012-02-29 11:01:04 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这不是没报错误嘛 我自己测出来的!!我定义了下数组 ,执行到for循环是过不去!!就是这个问题 action??是form中的action?action中能传递数组??不可能啊。感觉你的sql循环取值有问题。print_r($MaxNumber); 打出来是什么?是数组的话,下面的id不能赋值,类型不一样。另,$count = count($RYMC_ID); 中的$RYMC_ID如果是接收的前端select的值,那么只会有一个值。循环就没什么意思了。如果是已存在的数组,那没的说。还有,你的这段代码要打到一个什么目的??? for 不过去 第一个要怀疑的是 $count.输出$count 看是什么数值. 1、你使用的是 oracle 数据库?2、执行到for循环是过不去 是什么意思? 执行不下去的可能情况:1.$count ==0 , 你打印出来看看2.第三行的$Number为空,var_dump一下$Number看看 最简单的排错方法:将所有变量打出来,查看具体的值,问题就出来了:echo "RYMC_ID-->>";print_r($RYMC_ID);echo"<br/>";echo "count -->>".$count."<br/>";…… 其实我的思想是这样的 我就是具体实现下js servet的多选值 并显示输出!!选多条数据并添加显示成功,这个在数组循环才行啊,写出来就是不行呢!!纳闷了 print_r($RYMC_ID);看看都有些什么 var_dump($Number);exit;显示的是这个array(1) { [0]=> array(1) { ["ID"]=> string(4) "8625" } } 你都能输出$Number,说明已经进了for了,那说明for没有问题,至于这个数组,在foreach里面也能跑得通。那你这整个代码不存在问题啊。 print_r($RYMC_ID); 输出什么。 你这个$RYMC_ID是一个数组吗? $data['RYMC_ID']= $RYMC_ID[$i]; print_r($data); // 看看结果 $result = $pxda->add($data); $RYMC_ID = $_POST['RYMC_ID2'];//人员名称id 我是根据这个传值的 输出没显示呢 $count = count($RYMC_ID); 我就是觉得这个$count有问题 知道是那里错了就往回找啊,$RYMC_ID哪里来的?生成$RYMC_ID的代码我们又不知道。还是那句话,不要嫌麻烦,把有怀疑的变量全打出来看看具体的值,问题容易解决了。 $count = count($RYMC_ID); //这里的$RYMC_ID难道是所有记录? for($i=0;$i<$count;$i++){ $Number = $pxda->query('select max(to_number(ID)) as ID from __TABLE__'); foreach($Number as $key=>$val){ $MaxNumber = $val['ID']; //这个应该是获取表中id字段值最大也就是最后一条数据的id值吧? } $id = $MaxNumber + 1; //然后自动+1? $data['ID'] = $id; //这个应该是本来应该自增长的主键索引字段吧? $data['SWJG_DM'] = $_POST['SWJG_DM']; $data['RYMC_ID'] = $_POST['RYMC_ID2']; $data['SCORE'] = $_POST['SCORE']; $data['REMARK'] = $_POST['REMARK']; $data['TIME'] = $_POST['TIME']; $data['PXDD'] = $_POST['PXDD']; $data['CLASS_ID']= $_POST['CLASS_ID']; $data['JCQK'] = $_POST['JCQK']; $data['BZWH'] = $_POST['BZWH']; $data['ZUTI_ID'] = $_POST['ZUTI_ID']; $data['PXDW'] = $_POST['PXDW']; $data['START_TIME'] = $_POST['START_TIME']; $data['END_TIME'] = $_POST['END_TIME']; $data['ZZDW'] = $_POST['ZZDW']; $data['RYMC_ID']= $RYMC_ID[$i]; $result = $pxda->add($data); //然后这里是一个插入到表中的方法吧? }也不知道我的理解是不是对?但如果真的像我说的那样是不是insert太过复杂化了? 在openssl签发证书时如何指定16字节序列号? discuz6.1.0密码的加密分析 请大家帮忙,谢谢。 字符串0XFF转到十六进制0XFF,请教 smarty.php.net关闭了? 为什么在tmp目录下有一大堆的session文件,有没有办法在退出程序后直接删除这些session文件? php5 中, 对象引用的注意问题 有关include的问题 有一份北京的工作,需要懂php+mySql+linux,有兴趣的请和我联系 请问各位,如何才能够知道访问者是从哪里或哪个页面访问来的? 怎么嵌套? 怎么让php实时读时MYSQl变动
感觉你的sql循环取值有问题。
print_r($MaxNumber); 打出来是什么?是数组的话,下面的id不能赋值,类型不一样。
另,$count = count($RYMC_ID); 中的$RYMC_ID如果是接收的前端select的值,那么只会有一个值。循环就没什么意思了。如果是已存在的数组,那没的说。
还有,你的这段代码要打到一个什么目的???
2、执行到for循环是过不去 是什么意思?
将所有变量打出来,查看具体的值,问题就出来了:
echo "RYMC_ID-->>";print_r($RYMC_ID);echo"<br/>";
echo "count -->>".$count."<br/>";……
看看都有些什么
显示的是这个
array(1) { [0]=> array(1) { ["ID"]=> string(4) "8625" } }
$result = $pxda->add($data);
for($i=0;$i<$count;$i++){
$Number = $pxda->query('select max(to_number(ID)) as ID from __TABLE__');
foreach($Number as $key=>$val){
$MaxNumber = $val['ID']; //这个应该是获取表中id字段值最大也就是最后一条数据的id值吧?
}
$id = $MaxNumber + 1; //然后自动+1?
$data['ID'] = $id; //这个应该是本来应该自增长的主键索引字段吧?
$data['SWJG_DM'] = $_POST['SWJG_DM'];
$data['RYMC_ID'] = $_POST['RYMC_ID2'];
$data['SCORE'] = $_POST['SCORE'];
$data['REMARK'] = $_POST['REMARK'];
$data['TIME'] = $_POST['TIME'];
$data['PXDD'] = $_POST['PXDD'];
$data['CLASS_ID']= $_POST['CLASS_ID'];
$data['JCQK'] = $_POST['JCQK'];
$data['BZWH'] = $_POST['BZWH'];
$data['ZUTI_ID'] = $_POST['ZUTI_ID'];
$data['PXDW'] = $_POST['PXDW'];
$data['START_TIME'] = $_POST['START_TIME'];
$data['END_TIME'] = $_POST['END_TIME'];
$data['ZZDW'] = $_POST['ZZDW'];
$data['RYMC_ID']= $RYMC_ID[$i];
$result = $pxda->add($data); //然后这里是一个插入到表中的方法吧?
}也不知道我的理解是不是对?但如果真的像我说的那样是不是insert太过复杂化了?