更新两个表中的数据。一种在一列中包含多个数据
Posted
技术标签:
【中文标题】更新两个表中的数据。一种在一列中包含多个数据【英文标题】:Updating data in two table. one which contain multiple data in one column 【发布时间】:2015-03-12 07:21:28 【问题描述】:我正在尝试一次更新两个表中的数据(maklumatakaun,detailakaun),在 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】:foreach ($NoTelefon AS $i => $telefon)
$sql= mysql_query ("UPDATE detailakaun
SET KodJenisAkaun = '$KodJenisAkaun[$i]' ,
KodLokasi = '$KodLokasi[$i]' ,
NoTelefon = '$telefon'
");
$NoTelefon 有 3 个数据并使用 foreach 强制循环 3 次
只需对 3 个数据使用 1 个查询
$sql= mysql_query ("UPDATE detailakaun
SET KodJenisAkaun = '$KodJenisAkaun[1]' ,
KodLokasi = '$KodLokasi[1]' ,
NoTelefon = '$NoTelefon[1]'
");
希望这提供了一个想法,先格式化查询然后执行
【讨论】:
所以你建议首先输入数字?老实说,我不明白,先生 取决于 $NoTelefon。执行 print_r($NoTelefon); 时看到的内容?以上是关于更新两个表中的数据。一种在一列中包含多个数据的主要内容,如果未能解决你的问题,请参考以下文章
两个表,根据条件批量更新其中一个表的某一列数据。(高分求救,在线等待。)