PHP使用ci框架赋值网页表单下拉选项的问题

Delphi小叮当 2016-09-25 11:10:16
各位大神好

小弟刚开始学习CI框架,遇到一个关于下拉选择框赋值选择问题,请各位大神帮忙
我想通过数据库中查询用户之前填写的所在学校,并赋值给网页的下拉表单;
其中所有学校共计28所,在控制器中查询出来并存到一个数组中

//查询所有的学校名称存放到数组中
$sbiao_public = 'admin_stu_school' ;
$sitem_db = 'stu_item2';
$sitem_str ='stu_grade' ;
$sinfo_stu_grade = array($sitem_db =>$sitem_str) ;
$sorder_info['sorder_info_stu_grade'] = $this->db->get_where($sbiao_public,$sinfo_stu_grade)->result_array();


//得到查询的数目并存到数组中
$this->db->where($sinfo_stu_grade);
$this->db->from($sbiao_public);
$sorder_info['sorder_info_stu_grade']['rows']= $this->db->count_all_results();//查询数据库的总数



//载入试图和查询的数组
$this->load->view('admin/scc/gw_add_order_result.html' ,$sorder_info);


最后在视图的页面中我想循环出28个下拉框填上学校的姓名

<option value="0"> 下拉选择</option>
<!--先得到总数 然后再循环-->
<?php
$stu_grade_rows = $sorder_info_stu_grade['rows'];
for ($i = 1 ; $i <$stu_grade_rows-1 ;$i++)
{
?>

<?php foreach ($sorder_info_stu_grade as $v): ?>
<option value=<?php echo $i ?> <?php echo set_select('stu_grade',$i) ?>> <?php echo $v['stu_item1'] ?></option>
<?php endforeach ?>

<?php
}
?>


循环的结果是不对,循环的结果明显多了很多,共计循环出7*28条内容;
另外赋值用户之前选中的结果也没写对,求各位大神指点,谢谢
...全文
250 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Delphi小叮当 2016-09-25
  • 打赏
  • 举报
回复
引用 6 楼 xuzuning 的回复:
至少要看到你查询出来的数据和用户选中项的表示
我已经解决了,谢谢你

     
    <?php 
     $stu_grade_rows =  $sorder_info_stu_grade['rows'];
     $uid_se = 2;
   
    for  ($i = 0 ; $i <$stu_grade_rows-1 ;$i++) 
    {
    if   ($i ==$uid_se)   {  $stu_grade_select ='true';} else { $stu_grade_select='' ;}

    echo $uid_se ;
    echo 'dada';
    p($sorder_info_stu_grade);
    settype($stu_grade_select,'bool') ;
    ?>

 <option value=<?php echo $i ?> <?php echo set_select('stu_grade',$i,$stu_grade_select) ?>> <?php echo $sorder_info_stu_grade[$i]['stu_item1'] ?></option>

 <?php 
    } 
?>
xuzuning 2016-09-25
  • 打赏
  • 举报
回复
至少要看到你查询出来的数据和用户选中项的表示
Delphi小叮当 2016-09-25
  • 打赏
  • 举报
回复
引用 4 楼 xuzuning 的回复:
你只要是双重循环,那么就一定是有重复的 否则就是你查询时就已经重复了
那我应该怎么才能 循环出28所学校,还赋值用户选中的哪一个呢? 求指导 谢谢
xuzuning 2016-09-25
  • 打赏
  • 举报
回复
你只要是双重循环,那么就一定是有重复的 否则就是你查询时就已经重复了
Delphi小叮当 2016-09-25
  • 打赏
  • 举报
回复


我把循环放到了最外面 就出现了上图
<?php  foreach  ($sorder_info_stu_grade as $v): ?>      
Delphi小叮当 2016-09-25
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
你将 $sorder_info_stu_grade 输出 $sorder_info_stu_grade['rows'] 次,自然就重复了
我把循环赋值的放到了最外面 也是重复出了很多选项

 <?php  foreach  ($sorder_info_stu_grade as $v): ?>             
<option value="0"> 下拉选择</option>
<!--先得到总数 然后再循环-->     
<?php 
$stu_grade_rows =  $sorder_info_stu_grade['rows'];
$uid_se = 2;  
 for  ($i = 1 ; $i <$stu_grade_rows-1 ;$i++) 
{
if   ($i ==$uid_se)   {  $stu_grade_select ='true';} else { $stu_grade_select='' ;}
settype($stu_grade_select,'bool') ;
?>
 <option value=<?php echo $i ?> <?php echo set_select('stu_grade',$i) ?>> <?php echo $v['stu_item1'] ?></option>
 <?php 
} 
?>
 <?php endforeach ?>
xuzuning 2016-09-25
  • 打赏
  • 举报
回复
你将 $sorder_info_stu_grade 输出 $sorder_info_stu_grade['rows'] 次,自然就重复了

20,359

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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