首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MySQL表(php)中插入一个简单的列表

在MySQL表(php)中插入一个简单的列表
EN

Stack Overflow用户
提问于 2013-04-05 05:30:25
回答 3查看 3.1K关注 0票数 1

在四处寻找解决方案之后。我想是时候问问这里的智囊团了。

我正在寻找一种以字符串的形式获取列表的方法,使用逗号将其拆分并插入到mySQL表中的列中。

清单应该是这样的:

  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 )

从这份清单中,有两件事需要分开。号码和名字。

因此,数字将被插入到"player_number“列中,并将名称插入"player_name”。当然,逗号只用于空格,不需要对表感兴趣。

任何关于如何拆分字符串然后插入到表中的帮助都将是非常感谢的。

编辑::

我会看看我能用什么样的方法使用爆炸并运行一个循环将它们插入到表中。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-04-05 05:53:42

代码语言:javascript
复制
$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

在数字之间爆炸使用:

代码语言:javascript
复制
$string=preg_split('/ ?[0-9]+\.? /', $string, NULL, PREG_SPLIT_NO_EMPTY);

但是现在你没有每个名字的数字了。所以你不能这样插入它。

票数 1
EN

Stack Overflow用户

发布于 2013-04-05 05:56:18

代码语言:javascript
复制
 $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; }

     }

试着运行这个并得到一些想法。

票数 0
EN

Stack Overflow用户

发布于 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

代码语言:javascript
复制
load data local infile 'file_location' into table tbl_name fields terminated by ',' lines terminated by '\r\n';
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15826599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档