PHP依赖的foreach循环

时间:2009-06-26 19:58:06

标签: php

我在这里要完成的是将firstname,lastname组合分开存储在数据库中。我已经在数据库中添加了新列来保存名字和姓氏。我现在需要做的是实际分离它们并针对更改运行SQL更新。

有人可以帮我一把吗?感谢。

这是我的代码

<?php
$link = mysql_connect('localhost', 'root', '');
mysql_select_db("test",$link);

$sql = "SELECT * FROM new_users";
$result = mysql_query($sql);

while ($row = mysql_fetch_assoc($result))
{
    $foo[] = $row;
}

foreach($foo as $name)
{
    $_name[] = explode(',',$name['Name']);
    $_pan[] = $name['PANumber'];
}

foreach($_pan as $pan)
{
    foreach($_name as $name)
    {
        echo'<pre>';
        print_r($pan);
        echo'</pre>';
    }
}

2 个答案:

答案 0 :(得分:5)

如果我理解你的问题,你有一个名为“第一个,最后一个”的名称列,你想用第一列和最后一列替换它。

SQL的字符串操作可能最简单:

UPDATE new_users SET First=SUBSTRING_INDEX(Name, ",", 1), Last=SUBSTRING_INDEX(Name, ",", -1)

...然后,在你确定它做对了之后:

ALTER TABLE new_users DROP Name

答案 1 :(得分:0)

这样的事情很有用(我认为PANumber是你的主要钥匙吗?):

foreach($foo as $name)
{
    $_name[] = explode(',',$name['Name']);
    $_pan = $name['PANumber'];

    $sql = "UPDATE new_users SET " . 
           "FirstName = '" . $_name[0] . "' " .
           "LastName = '" . $_name[1] . "' " .
           "WHERE PANumber = '" . $_pan;

    mysql_query($sql);
}
相关问题