PHP зависимый цикл foreach - PullRequest
0 голосов
/ 26 июня 2009

То, что я пытаюсь сделать здесь, это разделить комбинацию имени и фамилии для хранения в базе данных. Я уже добавил новые столбцы в базу данных для хранения имени и фамилии. Теперь мне нужно разделить их и запустить обновление SQL с учетом изменений.

Может кто-нибудь, пожалуйста, помогите мне? Спасибо.

Вот мой код

<code><?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'
'; } }

Ответы [ 2 ]

5 голосов
/ 27 июня 2009

Если я понимаю ваш вопрос, у вас есть столбец с именем «первый, последний», и вы хотите заменить его на первый и последний столбцы.

Работа со строками в SQL, вероятно, самая простая:

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

... затем, после того, как вы убедитесь, что все сделали правильно:

ALTER TABLE new_users DROP Name

0 голосов
/ 27 июня 2009

Что-то вроде этого должно работать (я полагаю, 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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...