更新两个表中的数据。在一列中包含多个数据的一个

时间:2015-01-14 06:57:17

标签: php mysql sql

我正试图在detailakaun中同时更新两个表中的数据(maklumatakaun,detailakaun)有一个列'KodLokasi''KodJenisAkaun'和'NoTelefon',可能在一个id下有多个数据条目。这是我到目前为止所得到的

extract ($_POST);

if ($_POST) {

    $NoAkaun            = isset($_POST['NoAkaun'])          ? $_POST['NoAkaun'] : '';
    $KodBahagian        = isset($_POST['KodBahagian'])      ? $_POST['KodBahagian'] : '';
    $Tarif              = isset($_POST['Tarif'])            ? $_POST['Tarif'] : '';
    $KodDaerah          = isset($_POST['KodDaerah'])        ? $_POST['KodDaerah'] : '';
    $KodKategori        = isset($_POST['KodKategori'])      ? $_POST['KodKategori'] : '';
    $NoTelefon          = isset($_POST['NoTelefon'])        ? $_POST['NoTelefon'] : '';
    $KodLokasi          = isset($_POST['KodLokasi'])        ? $_POST['KodLokasi'] : '';
    $KodJenisAkaun      = isset($_POST['KodJenisAkaun'])    ? $_POST['KodJenisAkaun'] : '';
    $akaun_id           = isset($_POST['akaun_id'])         ? $_POST['akaun_id'] : '';






    $sql = mysql_query("UPDATE maklumatakaun
                        SET NoAkaun = '$NoAkaun' , 
                        KodBahagian = '$KodBahagian' , 
                        KodDaerah = '$KodDaerah' , 
                        KodKategori = '$KodKategori' , 
                        Tarif = '$Tarif' , 
                        WHERE id = '$id'");
    $akaun_id = mysql_insert_id();
    foreach ($NoTelefon AS $i => $telefon){
    $sql= mysql_query ("UPDATE detailakaun
                        SET KodJenisAkaun = '$KodJenisAkaun[$i]' ,  
                        KodLokasi = '$KodLokasi[$i]' , 
                        NoTelefon = '$telefon'
                        ");

此代码将更新两个表中的所有列,但是假设有一个帐户已经注册了3'KodLokasi','KodJenisAkaun'和'NoTelefon',那么当更新时只有3列中的一列会重复到3.如何正确更新?

1 个答案:

答案 0 :(得分:0)

foreach ($NoTelefon AS $i => $telefon){
$sql= mysql_query ("UPDATE detailakaun
                    SET KodJenisAkaun = '$KodJenisAkaun[$i]' ,  
                    KodLokasi = '$KodLokasi[$i]' , 
                    NoTelefon = '$telefon'
                    ");

$ NoTelefon有3个数据并使用foreach力循环3次

只需使用1个查询和3个数据

$sql= mysql_query ("UPDATE detailakaun
                    SET KodJenisAkaun = '$KodJenisAkaun[1]' ,  
                    KodLokasi = '$KodLokasi[1]' , 
                    NoTelefon = '$NoTelefon[1]'
                    ");

希望这给出一个想法,首先格式化查询然后执行