在四处寻找解决方案之后。我想是时候问问这里的智囊团了。
我正在寻找一种以字符串的形式获取列表的方法,使用逗号将其拆分并插入到mySQL表中的列中。
清单应该是这样的:
从这份清单中,有两件事需要分开。号码和名字。
因此,数字将被插入到"player_number“列中,并将名称插入"player_name”。当然,逗号只用于空格,不需要对表感兴趣。
任何关于如何拆分字符串然后插入到表中的帮助都将是非常感谢的。
编辑::
我会看看我能用什么样的方法使用爆炸并运行一个循环将它们插入到表中。
发布于 2013-04-05 05:53:42
$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);但是现在你没有每个名字的数字了。所以你不能这样插入它。
发布于 2013-04-05 05:56:18
$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; }
}试着运行这个并得到一些想法。
发布于 2013-04-05 06:40:39
您可以直接在MySQL表中导入而不需要PHP。你只需要用诡计。
如果您的文件在数据中具有相同的模式,那么您只需将“、”改为"\r\n",然后将替换为CSV格式即可。to ",".
现在,您可以使用MySQL加载文件将数据导入数据库。
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';https://stackoverflow.com/questions/15826599
复制相似问题