字符串是这样的:1(11);2(22);3(33);....
括号左边的是物品id,括号内是该物品的个数。
该物品id和名字在另一张表里面,现在我想在物品表修改该物品的id,
但是这个字符串里面的物品id如何更新呢。纠结。
匹配是 
大仙来段查询并且替换语句呗。

解决方案 »

  1.   

    已经搞定,大家凑合着看看吧。 function callback($match){
    global $id,$suppliesid;
    if($match[1]==$id){
     return $suppliesid.$match[2];
    }else{
    return  $match[1].$match[2];
    }
    }
    //更新fetchorder表
    $res=$db->query("SELECT supplies,foid FROM {$tablepre}fetchorder");
    while($row=$db->fetch_array($res)) {
    $supplies= $row['supplies'];
    $str=preg_replace_callback("/(\d+)(\(\d+\))/is",callback,$supplies);
    if($str != $supplies) {
    mysql_query("UPDATE {$tablepre}fetchorder SET supplies = '".$str."' WHERE foid = '".$row['foid']."'");
    }
    }