PHP bağımlı foreach döngüsü

2 Cevap

Ne burada gerçekleştirmek için çalışıyorum bir veritabanında depolamak için bir ad, soyad combo ayırmaktır. Zaten ilk ve son adlarını tutmak için veritabanında yeni sütunlar ekledik. Şimdi ne yapmam gerekiyor aslında onları ayırmak ve değişikliklere karşı, bir SQL güncelleştirme çalıştırmaktır.

Birisi bana bir el verebilir misiniz? Teşekkürler.

İşte benim kod

<?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 Cevap

Ben sizin sorunuzu anlayış yaşıyorum, sen "ilk, son" olduğunu ve ilk ve son sütunları ile değiştirmek istediğiniz bir ismi sütunu var.

SQL'ın dize işleme muhtemelen en kolay yoldur:

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

... O, sen doğru olanı yaptın emin sonra:

ALTER TABLE new_users DROP Name

(? Ben PANumber burada birincil anahtar olduğunu varsayalım) bu iş için hiç bu gibi bir şey:

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);
}