2012-08-28 45 views
0

RoanMysql-PHP如何将长串行分隔成不同的列?

我目前正在研究从table1拆分长行,并在另一个表2中插入多个字段,字符串的值由“/”和“ - ”分隔。 有没有办法在“/”或“ - ”出现时拆分单元格值,并在其单独的列中插入现有的表格2?

我有一个这样的条目表。

要关闭此:表1

    ID&NBSP&NBSP值
    1&NBSP&NBSP FO910/test123/KO9200-7890/asdasd23423/...
    2&NBSP&NBSP ML45/uj890-892ht/kjsl923023/sdsds- wer3434 ..

到这一点:表2

    ID&NBSP&NBSP值1&NBSP&NBSP值2 ...
    1&NBSP&NBSP F0910&NBSP&NBSP test123
    2&NBSP&NBSP ML45&NBSP&NBSP UJ890

任何帮助将大大

+0

你为什么把数据原来如此不方便?最好是把它放在不同的列最初 – zerkms

+0

如果它的工作不要忘了选择答案,通过点击对勾 – c3cris

+0

这种方式从表中填入无线电信号 – user1631346

回答

1

赞赏尝试使用

$data= "FO910/test123/KO9200-7890/asdasd23423" 

$row = preg_split("/[\/\-]/", $data); 
/* example output 
array(1) 
(
    [0] => string(5) "FO910" 
    [1] => string(7) "test123" 
    [2] => string(6) "KO9200" 
    [3] => string(4) "7890" 
    [4] => string(12) "asdasd23423" 
) */ 

foreach($col in $row) 
{ 
    echo '<td>'.$col.'</td>'; 
} 
+0

他希望破折号也分裂,所以值应该是FO910,test123,KO9200,7890,asdasd23423。执行'$ data = str_replace(' - ','/',$ data);' 之前的爆炸部分。 – Felix

+1

preg_split可以用正则表达式做同样的事情 – c3cris

相关问题