高人救命啊,在线等。关于下拉列框问题,

JankerW 2003-09-13 04:55:02
要求实现在表单提交后,仍然保持菜单项上一次的状态。我的部分源代码如下,望高手指教<? if($plan==$plorder) $aaa="selected" ;?>

<td align="center">手机品牌 <select size="1" name="plan" ONCHANGE ="insert(form1.plan,form1.type,IdArr,TextArr)">
<? echo "<option value='$plorder' $h1>$plname</option>";?>
</select>
    </td>
<? if($type==$tyorder) $bbb="selected" ;?>
<td align="center">手机机型 <select size="1" name="type">
<? echo "<option value='$tyorder' $h2>$tyname</option>";?>
</select>
<? selectarr1('form1.plan'); ?>
手机品牌和手机机型是两个动态变化的选择列表框,其中机型的值随品牌的值在变化,已经实现,主要是手机的机型太多,每一次选了品牌和机型并且提交后都回到第一个状态,造成录入数据的很不方便,望高手指教,以实现需求。我试了很多方法,好象都不行,

<?
require("../Include/userfunctions.php3");
require("../Include/DBConnect.php3");
MustLogin();
$cur=ora_open($conn);
$cur1=ora_open($conn);

$query=" select mobile_id from sf_mobile_type ";
$query.= " where mobile_plan='$plan' and mobile_order='$type' ";
ora_parse($cur,$query);
ora_exec ($cur);
while(ora_Fetch($cur)){
$mblid=ora_getcolumn($cur,0) ;
}
if($submit1=="添加") {
$query=" select a.mobile_name,b.mobile_name,a.mobile_order,b.mobile_order from sf_mobile_plan a ,";
$query.= "sf_mobile_type b where b.mobile_id='$mblid' and b.mobile_plan=a.mobile_order ";
ora_parse($cur,$query);
ora_exec ($cur);
$plname= ora_getcolumn($cur,0) ;
$tyname=ora_getcolumn($cur,1) ;
$plorder=ora_getcolumn($cur,2) ;
$tyorder=ora_getcolumn($cur,3) ;

}
//
$query=" select ID,NAME FROM SF_MOBILE_SELL_TYPE where ID='$global_user_id' " ;

ora_parse($cur,$query);
ora_exec ($cur);
while(ora_Fetch($cur)){
$sid=ora_getcolumn($cur,0);
$sname=ora_getcolumn($cur,1);
}
if($global_user_id=='579111')
$indept='1';
else $indept='2';

if($submit1=="添加")
{
//echo $mblid ;
//echo '('.$plan.')';
//echo $type;
//echo '('.$indept.')';
$query=" select count(*) from sf_mobile_sell_type where id='$global_user_id' ";
ora_parse($cur,$query);
ora_exec($cur);
if(ora_getcolumn($cur,0)==1)
{
if($numb==0){echo "<font color=red>对不起,请输入数量</font>"; }
else{
$query=" insert into SF_MOBILE_SELL_RECORD(ID,MOBILE_ID,NOW_IN_DEPT,OPER_TYPE,CREATE_DATE,NUM) ";

$query.=" values('$sid','$mblid','$indept', '$oper' , to_char(sysdate,'yyyy-')||'$SMONTH-'||'$SDAY','$numb')" ;
//echo $query;
ora_parse($cur,$query);
ora_exec ($cur);
}
}
else echo "<font color=red>对不起,您无权限录入!</font>";
}

if($submit2=="删除")
{
$query=" delete from SF_MOBILE_SELL_RECORD where " ;
$query.= " id='$global_user_id' and mobile_id='$mblid' and oper_type='$oper' ";
$query.=" and create_date=to_char(sysdate,'yyyy-')||'$SMONTH-'||'$SDAY' and num=$numb ";
// echo $query;
ora_parse($cur,$query);
ora_exec ($cur);

}


?>





<html>
<body>
<form name=form1 action="<? echo $PHP_SELF ;?>" method=post>

<tr>

<? if($plan==$plorder) $aaa="selected" ;?>

<td align="center">手机品牌 <select size="1" name="plan" ONCHANGE ="insert(form1.plan,form1.type,IdArr,TextArr)">
<? echo "<option value='$plorder' $h1>$plname</option>";?>
</select>
    </td>
<? if($type==$tyorder) $bbb="selected" ;?>
<td align="center">手机机型 <select size="1" name="type">
<? echo "<option value='$tyorder' $h2>$tyname</option>";?>
</select>
<? selectarr1('form1.plan'); ?>
   

<td align="center"> 月份 <select size="1" name="SMONTH">
<?
$query="select to_char(sysdate,'mm') from dual";
ora_parse($cur,$query);
ora_exec ($cur);
$mm=ora_getcolumn($cur,0);
$M=$mm;?>
<option selected value=<? echo $M;?>><? echo $M ;?></option>
<?
$query="select to_char(sysdate-2,'mm') from dual";
ora_parse($cur,$query);
ora_exec ($cur);
$mm1=ora_getcolumn($cur,0);
$M1=$mm1;
?>
<option value= <? echo $M1;?>><? echo $M1 ;?></option>

</select>

<td align="center">日期 <select size="1" name="SDAY">
<?
$query="select to_char(sysdate,'dd') from dual";
ora_parse($cur,$query);
ora_exec ($cur);
$dd=ora_getcolumn($cur,0);
$D=$dd;?>
<option value=<? echo $D;?>><? echo $D ;?></option>
<?
$query="select to_char(sysdate-1,'dd') from dual";
ora_parse($cur,$query);
ora_exec ($cur);
$dd1=ora_getcolumn($cur,0);
$D1=$dd1;
?>
<option value= <? echo $D1;?>><? echo $D1 ;?></option>
<?
$query="select to_char(sysdate-2,'dd') from dual";
ora_parse($cur,$query);
ora_exec ($cur);
$dd2=ora_getcolumn($cur,0);
$D2=$dd2;
?>
<option value=<? echo $D2; ?>><? echo $D2 ;?></option>
</select>

</td> <p><td align="center"> 方式 <select size="1" name="oper" >

<option value="1">入库</option>
<option value="2">出库</option>
<option value="3">销售</option>
<option value="4">赠送</option>
<option value="5">其他</option>
</select>        </td>

<td align="center">数量
<input type="text" name="numb" size=8>


     
<input type="hidden" name="h1" value=<? echo $aaa ;?>>

<input type="hidden" name="h2" value=<? echo $bbb ;?>>

<input type="submit" name="submit1" value="添加" >  
<input type="submit" name="submit2" value="删除">  
<input type="submit" name="submit3" value="查询">
</tr>
<p></p>
<p></p>

.
.
.
.
.
.
.
.




...全文
62 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
超级大笨狼 2003-12-07
  • 打赏
  • 举报
回复
我马上要升两星了,还差一百分,估计是明天
升完后我也要忙工作了
不能再沉迷在这里了
哎,舍不得这里给我这样的快乐和成就感!
今天拼命做了一个四级连动完美版,access数据库,速度非常快!!!
两个小文件总共代码一共不超过80行!9万条记录运行如飞!!
哈哈,终于完成,我做的
http://expert.csdn.net/Expert/topic/2537/2537402.xml?temp=.5528223
showerXP 2003-09-15
  • 打赏
  • 举报
回复
实际上关键问题是保存上次提交的$plan,$type值(可以用Session变量实现),在你动态生成<option>时候把"selected"属性给保存的$plan,$type就可以了。
原理很简单。现在看来,关键是你的selectarrl()函数里循环生成<option>的地方加上类似代码
while ...
.
.
.
if ($plorder==$_session['label_mobile']) echo "<option value='$plorder' selected $h1>$plname</option>"
.
.
.
不要急,在搞一下.
showerXP 2003-09-14
  • 打赏
  • 举报
回复
懒点的办法是搞两个$_session['label_mobile'],$_session['id_mobile'],分别保存上次选的牌子和型号。
再来个:
<?
if ($plorder==$session['label_mobile']) echo "<option value='$plorder' selected $h1>$plname</option>"
else
echo "<option value='$plorder' $h1>$plname</option>";
?>

型号也是一样的

有可能用完了就消除这连个session。
wf8010 2003-09-14
  • 打赏
  • 举报
回复
高手来帮帮忙吧,可能我讲的不太明确,我再补充一下,手机品牌,手机机型,这都是从数据库里面关联后取的数据,实际上$plan ,$type分别表示手机品牌的编号,手机型号的编号,而且已经由selectarr1()函数实现两者的动态变化,现在的问题是选择这两个值并提交后,都回到第一个的初始状态,造成录入数据很不方便,本人试了一些方法好象都行不通,因此恳请高手指教。谢谢
lang11zi 2003-09-14
  • 打赏
  • 举报
回复
可惜偶不会,只能up
wf8010 2003-09-14
  • 打赏
  • 举报
回复
高人快来啊,解决了再散分,就是这个朋友的ID,还有3890 分,大大的散分
wf8010 2003-09-14
  • 打赏
  • 举报
回复
,不行啊,我晕倒啊,高人现身吧,真的很急啊
JankerW 2003-09-13
  • 打赏
  • 举报
回复
是啊,解决后再散分
showerXP 2003-09-13
  • 打赏
  • 举报
回复
又是你。分多!
JankerW 2003-09-13
  • 打赏
  • 举报
回复
怎么还没人来帮我啊
JankerW 2003-09-13
  • 打赏
  • 举报
回复
高手快来啊,帮帮我啊

87,903

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧