数据库字段 a 的值是 “张三_男_20|张力_男_18|李丽_女_22”$get[a]="张三_男_20|张力_男_18|李丽_女_22";姓名   性别   年龄   操作张三   男     20     修改张力   男     18     修改李丽   女     22     修改这里能读出这些数据,就是不知道该怎么修改?例如我点叫“张力”这行的 修改,如何才能修改这个数组下标了
例如:把 “张力” 修改为“苏力” 然后保存,数据字段就变成$get[a]="张三_男_20|苏力_男_18|李丽_女_22";
本人对数组不太会用,有点乱,请高人指点。

解决方案 »

  1.   


     <?
    $get[a]="张三_男_20|张力_男_18|李丽_女_22"; 
    $row=explode("|",$get[a]);
    echo "<form name=form action=''>";
    foreach($row as $key=> $val){
     $col=explode("_",$val);
     foreach($col as $key2=>$val2){
      echo "<input type=text name=name value=".$val2.">";
     }
     echo "<br>";
    }
    echo "<input type=submit value=提交>";
    echo "</form>";
    ?>
      

  2.   

    又继续老问题啊.......
    继续用这样的结构的话,这样比较简单点一个隐藏表单,比如
    <input name='val[0][name]' value='张三' />
    <input name='val[0][sex]' value='男' />
    <input name='val[0][age]' value='20' />
    <input name='val[0][old]' value='张三_男_20' />
    --------------
    <input name='val[1][name]' value='张力' />
    <input name='val[1][sex]' value='男' />
    <input name='val[1][age]' value='18' />
    <input name='val[1][old]' value='张力_男_18' />
    --------------
    <input name='val[2][name]' value='李丽' />
    <input name='val[2][sex]' value='女' />
    <input name='val[2][age]' value='22' />
    <input name='val[2][old]' value='李丽_女_22' />
    --------------
    记录集数据为:$get[a]="张三_男_20|张力_男_18|李丽_女_22"; 
    比如你单独修改且只修改了第一组,如下:
    // 假设val[0]提交上去后赋值为变量$a0
    $get[a] = str_replace( $a0['old'], $a0['name'].'_'.$a0['sex'].'_'.$a0['age'], $get[a] );假如全部列表是一个Form内,你就循环吧
      

  3.   

    zhoupuyue->我要做的就是把所有数据放在一张表中方便数据查询省去跨表差的速度问题,现在的问题就是在一个字段中写入多条数据,用到了数组分割,能写入,但不知道怎么去修改这个数组中某个数组索引的值并能保存到数据库。alandy->我已经实现了循环读出了,我现在的问题是要修改其中某一条,然后提交,问题就卡在不知道怎么修改数组gzty->我是从数据库读出来的个人信息,条数我并不知道,如果像你这样那我隐藏提交不是还要写个for循环?不现实
      

  4.   

    zhoupuyue->我要做的就是把所有数据放在一张表中方便数据查询省去跨表差的速度问题,现在的问题就是在一个字段中写入多条数据,用到了数组分割,能写入,但不知道怎么去修改这个数组中某个数组索引的值并能保存到数据库。alandy->我已经实现了循环读出了,我现在的问题是要修改其中某一条,然后提交,问题就卡在不知道怎么修改数组gzty->我是从数据库读出来的个人信息,条数我并不知道,如果像你这样那我隐藏提交不是还要写个for循环?不现实
      

  5.   


    /*
    $line:要更新的记录行
    $idx1:要更新的内容在行中的索引
    $idx2:要更新的属性的索引
    $value:要更新的值
    */
    function update($line,$idx1,$idx2,$value){
       $records = explode("|",$line);
       $rs = explode("_",$records[$idx1]);
       $rs[$idx2] = $value;
       $records[$idx1] = implode("_",$rs);
       return implode("|",$records);
    }$line = "张三_男_20|张力_男_18|李丽_女_22";
    echo update($line,1,0,"苏力");
      

  6.   

    如果是表单修改的话,提交数据时就要重新组合一组字符串,插入数据库.
    如果修改指定数组值就用楼上FUNCTION就可以了.
      

  7.   

    lz的问题和修改数组下标有鸟关系,8楼给了你一个修改指定位置值的function