1

经过一番寻找解决方案。我认为是时候在 stackoverflow 上询问智囊团了。

我正在寻找一种以字符串形式获取列表的方法,使用逗号将其拆分并插入到 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, 17. Eddy Pettybourne

从该列表中,需要拆分两件事。编号和名称。

因此,号码将插入“player_number”列,名称插入“player_name”。当然逗号只用于间距,不需要对表格感兴趣。

任何有关如何拆分字符串然后插入表格的帮助将不胜感激。

编辑::

我会看看我可以使用explode 和运行一个循环来将它们插入到表中。

4

3 回答 3

1
$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-05T05:53:42.090 回答
0
 $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-05T05:56:18.947 回答
0

您可以直接在 MySQL 表中导入,无需 PHP。你只需要使用技巧。

如果您的文件在数据中具有相同的模式,那么您只需将“,”替换为“\r\n”,然后将“.”替换为 CSV 格式的数据即可。到“,”

现在您可以使用 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';
于 2013-04-05T06:40:39.753 回答