有点狩猎周围的解决方案之后。 我想是时候要问的大脑在这里信任的计算器。
我正在寻找一种方式,采取列表,以字符串的形式,用逗号和插入在MySQL表中的列它分割。
该列表会是这样的:
- 蒂姆·莫岑,2.乔尔雷迪3.布拉克·艾什福德,克里斯劳伦斯,5.詹姆斯德语,6.畚箕马歇尔7.布雷斯·阿纳斯塔,8.亚伦伍兹9.罗比法拉10.杰克布坎南,11。博丁·汤普森,12利安富尔顿13.亚当布莱尔14.奔默多克Masila,15.阿瓦·塞曼法加伊16.马特贝尔17.埃迪·佩底本恩
从清单中,还需要两件事被拆分。 数量和名称。
因此,数量将被插入到“player_number”列和名称为“PLAYER_NAME”。 当然,逗号仅用于间距,并且不需要有兴趣到表中。
关于如何分割字符串,然后插入到表中的任何援助将非常感激。
编辑::
我会看看有什么我可以使用爆炸和运行的循环将它们插入到工作表中。
$string="1. Tim Moltzen, 2. Joel Reddy, 3. Blake Ayshford, 4. Chris Lawrence, 5. James Tedesco, 6. Benji Marshall, 7. Braith Anasta, 8. Aaron Woods, 9. Robbie Farah, 10. Jack Buchanan, 11. Bodene Thompson, 12. Liam Fulton, 13. Adam Blair, 14. Ben Murdoch Masila, 15. Ava Seumanufagai 16. Matt Bell, 17. Eddy Pettybourne";
$string=explode(', ',$string);
foreach($string as $val)
{
$val=explode('. ',$val);
mysql_query('INSERT INTO yourtable (col_number,col_name) VALUES ("'.$val[0].'.","'.$val[1].'")';
}
我不明白你为什么要与号码一起插入期间,因为这将意味着列有不必要地为varchar,而不是INT。 无论如何,这是因为你问。
更改mysql_query
到mysqli_query
如果你喜欢。
之间的数字使用爆炸:
$string=preg_split('/ ?[0-9]+\.? /', $string, NULL, PREG_SPLIT_NO_EMPTY);
但现在你不必为每名任何数字。 所以,你将无法将其插入这样。
$abc= "1.Tim Moltzen, 2. Joel Reddy, 3. Blake Ayshford, 4. Chris Lawrence, 5. James Tedesco, 6. Benji Marshall, 7. Braith Anasta, 8. Aaron Woods, 9. Robbie Farah, 10. Jack Buchanan, 11. Bodene Thompson, 12. Liam Fulton, 13. Adam Blair, 14. Ben Murdoch Masila, 15. Ava Seumanufagai, 16.Matt Bell, 17. Eddy Pettybourne";
$def = explode(",", $abc);
$countDEF= count($def);
for($a=0;$a<=$countDEF-1;$a++){
$ghi = explode(".", $def[$a]);
$countGHI = $ghi;
for($b=0;$b<=1;$b++){
echo $ghi[0]."-".$ghi[1]."<br>";
// do your query here.
// ghi[0] is the number and ghi[1] is the fullname
break; }
}
尝试运行此,并得到一些想法。
你可以在MySQL表直接导入无PHP。 你只需要使用技巧。
如果您的文件在数据相同的图案,那么你可以通过只需更换使数据以CSV格式“”到‘\ r \ n’,然后“” 为“”。
现在你可以使用MySQL负荷INFILE将数据导入到数据库中。
http://dev.mysql.com/doc/refman/5.1/en/load-data.html
load data local infile 'file_location' into table tbl_name fields terminated by ',' lines terminated by '\r\n';