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


Inserting a simple list into MySQL table (php)

在寻找了一些解决方案之后。我想是时候问问stackoverflow上的智囊团了。

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

列表应该是这样的:

  1. Tim Moltzen, 2。乔尔·雷迪,3岁。布莱克·艾什福德,4岁。克里斯·劳伦斯,5岁。詹姆斯·特德斯科,6岁。本吉·马歇尔,7岁。布雷斯·阿纳斯塔,8岁。阿伦·伍兹,9岁。罗比·法拉,10岁。杰克·布坎南,11岁。博登·汤普森,12岁。利亚姆·富尔顿,13岁。亚当·布莱尔,14岁。Ben Murdoch Masila, 15岁。Ava Seumanufagai 16岁。马特·贝尔,17岁。艾迪Pettybourne

从这个列表中,有两个东西需要拆分。号码和名字。

因此,数字将插入"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。你只需要使用技巧。

如果你的文件在数据中有相同的模式,那么你可以通过将","替换为"'r'n"然后将"."替换为",".

现在你可以使用MySQL Load 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';