berikut adalah contoh array aku
<?php
Array
(
[fid] => Array
(
[59] => C00000186341200011
[107] => C00000043034200011
[200] => C00000189011200011
)
[ip] => 127.0.0.1
[pc] => localhost
[rangka] => Array
(
[fe] => amin
)
[semua] => Proses
)
1
?>output yang aku berjaya buat macam ni
UPDATE jan10 SET
fe='amin'
WHERE fid in ('C00000186341200011, C00000043034200011, C00000189011200011,')
pada hal kalau boleh nak buat macam ni
UPDATE jan10 SET
fe='amin'
WHERE fid in ('C00000186341200011, C00000043034200011, C00000189011200011')
ada idea tak kalau andai kata saiz array $_POST[fid] tak dapat dijangka.
cuba guna count() tapi macam tak jadi aje hehehe
<?php
echo "<pre>", print_r($_POST)."</pre>";
$bulan = array('jan10', 'feb10', 'mac10', 'apr10',
'mei10', 'jun10', 'jul10', 'ogo10',
'sep10', 'okt10', 'nov10', 'dis10', 'rangka');
foreach ($bulan as $key => $myTable){$_POST[$myTable][fe]=$_POST[rangka][fe];}
echo "<hr>";
foreach ($_POST[fid] as $key => $jumpa) {
echo "".$_POST[fid][$key];
echo ($key==count($_POST[fid]))? "":",\r"; }
echo"<hr>";
foreach ($bulan as $key => $myTable)
{////////////////////////////////////////////////////////////////////////////////
$sql = 'SELECT fe FROM '.$myTable; //echo "<hr><pre>$sql</pre><hr>";
$result = mysql_query($sql) or die(mysql_error()."<hr><pre>$sql</pre><hr>");
$fields = mysql_num_fields($result);
######################################################################
$ubah = " UPDATE $myTable SET \r";
for ( $f = 0 ; $f < $fields ; $f++ )
{ $medan = mysql_field_name($result,$f);
$papar = $_POST[$myTable][$medan];
$ubah.=(($papar==null)? " $medan=null":" $medan='$papar'");
$ubah.=($f==$fields-1)? "":",\r";
}$ubah.= "\r WHERE fid in ('".$fid_pertubuhan."') ";
######################################################################
echo "<hr><pre>$ubah</pre><hr>\r";
#$result = mysql_query($ubah) or die(mysql_error()."<hr><pre>$ubah</pre><hr>");
}
#header('Location:./kawal_edit.php?pilihan=fid&cari='.$_POST[carian].'&ralat=dahUpdateLah#bulan');
endif; //$batch==null
//<!-- ****************************************************************************** -->
?>
aku dah ubah sikit
<?php
$bulan = array('jan10', 'feb10', 'mac10', 'apr10',
'mei10', 'jun10', 'jul10', 'ogo10',
'sep10', 'okt10', 'nov10', 'dis10', 'rangka');
foreach ($bulan as $key => $myTable){$_POST[$myTable][fe]=$_POST[rangka][fe];}
$mula=0;$akhir=count($_POST[fid]);
foreach ($_POST[fid] as $key => $jumpa)
{
$fid_pertubuhan.="'".$_POST[fid][$key];
$fid_pertubuhan.=($mula++==$akhir-1)? "'":"',\r";
}
foreach ($bulan as $key => $myTable)
{////////////////////////////////////////////////////////////////////////////////
$sql = 'SELECT fe FROM '.$myTable; //echo "<hr><pre>$sql</pre><hr>";
$result = mysql_query($sql) or die(mysql_error()."<hr><pre>$sql</pre><hr>");
$fields = mysql_num_fields($result);
######################################################################
$ubah = " UPDATE $myTable SET \r";
for ( $f = 0 ; $f < $fields ; $f++ )
{ $medan = mysql_field_name($result,$f);
$papar = $_POST[$myTable][$medan];
$ubah.=(($papar==null)? " $medan=null":" $medan='$papar'");
$ubah.=($f==$fields-1)? "":",\r";
}$ubah.= "\r WHERE fid in (".$fid_pertubuhan.") ";
######################################################################
#echo "<hr><pre>$ubah</pre><hr>\r";
$result = mysql_query($ubah) or die(mysql_error()."<hr><pre>$ubah</pre><hr>");
}
header('Location:./kawal_pilih.php?cari='.$papar.'&ralat=dahUpdateLah#bulan');
?>
macam mane kalau buat camni?
for loop
if $f > 0
$ubah .= ",";
$ubah .= $papar == NULL ? "$medan = NULL" : "$medan = $papar";kalau aku buat macam tu sql aku jadi macam ni
<?php
$ubah = " UPDATE $myTable SET \r";
for ( $f = 0 ; $f < $fields ; $f++ )
{ $medan = mysql_field_name($result,$f);
$papar = $_POST[$myTable][$medan];
$ubah.=($f>0)? "":",\r";
$ubah.=(($papar==null)? " $medan=null":" $medan='$papar'");
}$ubah.= "\r WHERE fid in (".$fid_pertubuhan.") ";
?>hasilnya macam ni
UPDATE kawal_jan10 SET
,
fe='amin'
WHERE fid in ('C00000171695710011',
'A00000223315710011',
'C00000116609700011',
'C00000195527700011',
'C00000171278730011')
kalau macam ni, mysql tak boleh terima
owh, aku silap tgk. sbrnnye maksud aku camni.
$count = 0;
foreach loop
$count > 0 ? $fid_pertubuhan .= "," : $count++;
$fid_pertubuhan.= $_POST[fid][$key];spatutnye ko akan dpt:
$fid_pertubuhan = "C00000186341200011, C00000043034200011, C00000189011200011"
edit: btolkan typo error
owh, aku silap tgk. sbrnnye maksud aku camni.
$count = 0;
foreach loop
$count > 0 ? $fid_pertubuhan .= "," : $count++;
$fid_pertubuhan.= $_POST[fid][$key];spatutnye ko akan dpt:
$fid_pertubuhan = "C00000186341200011, C00000043034200011, C00000189011200011"
edit: btolkan typo error
hhmm... tak sure boleh ke tak guna '=', maybe kena wat camni kot:
$fid_pertubuhan in ('C00000186341200011', 'C00000043034200011', 'C00000189011200011')
aku cume nk bg cadangan utk betolkn posisi koma dlm query tu. psl dalam contoh asal, ade terlebih koma kat hujung statement.
itu cume pseudocode, kena btolkan ikut keperluan.
<?php
$fid_pertubuhan = substr($fid_pertubuhan, 0, -1);
?>
<?php
$fid_pertubuhan = substr($fid_pertubuhan, 0, -1);
?>ape yang ko nk buat ni sahabat?
tapi lepas tgk code ko, aku dpt ilham utk gune implode 
$fid_pertubuhan = "('" . implode("','",$_POST[fid]) . "')";
macam lg cool jer 
err salah ke. aku ni baru je belajar php. kalo salah tolong tunjukkan 
<?php
//issue comma kat last data kan?
$fid_pertubuhan = "C00000186341200011, C00000043034200011, C00000189011200011,";
//buang je la last comma tu
$fid_pertubuhan = substr($fid_pertubuhan, 0, -1);
echo $fid_pertubuhan;
?>
tapi kalau xmau code panjang2 bleh guna cara hang tu. guna implode.
owh, bijok gak. tapi aku rase lagi baik xde koma tu terus daripada nk buang koma tu kemudian. 
len kali explain la sket. aku ni tak brape pandai sgt; kalu tgk code jer tak paham ape die spatutnye buat 
aku just gunakan kod amin.Aku xnak ubah kod dia, dan aku bagi la satu line yg membolehkan kod dia diguna pakai. Kalau nak optimize kod tu, aku lebih suka guna cara hang. terus buang je loop yg x perlu.
dalam programming ada jalan panjang dan ada jalan pendek. ikut la yg mana suka 
array aku macam ni
<?php
[fid] => Array
(
[59] => C00000186341200011
[107] => C00000043034200011
[200] => C00000189011200011
)
?>secara teori aku nak cantumkan jadi satu string macam ni
'C00000186341200011','C00000043034200011','C00000189011200011'
jadi idea mula-mula aku akan dapatkan bilangan array guna count().
<?php
$akhir=count($_POST[fid]);
?>
lepas aku aku cantumkan semua array
<?php
foreach ($_POST[fid] as $key => $jumpa)
{
$fid_pertubuhan.="'".$_POST[fid][$key];
$fid_pertubuhan.=($mula++==$akhir-1)? "'":"',\r";
}
?>kod kat atas jalan, cuma panjang sangat hehehe. ingat nak cari yang pendek sikit
kalau buat macam ni pulak
<?php
foreach ($_POST[fid] as $key => $id)
{$fid_pertubuhan.="'".$_POST[fid][$key]."',\r";}
$fid_pertubuhan = substr($fid_pertubuhan, 0, -1);
?>
dapat pendekkan baris line tapi masih dalam loop
kalau cara ni pulak
<?php
$fid_pertubuhan = "'".implode("',\r'",$_POST[fid])."'";
$fid_pertubuhan = substr($fid_pertubuhan, 0, -1);
?>
tak payah nak guna loop
tapi rasanya daripada guna loop untuk tentukan takde koma pada akhir string
lagi baik buang aje koma di akhir string yer hehehe.
atau aku cantum jadi satu baris sahaja
<?php
$fid_pertubuhan = substr("'".implode("',\r'",$_POST[fid])."'", 0, -1);
?>
tak payah aku tentukan size array berapa hehehe 
apsal ko nk pkai substr() ? kalau ko gune substr, result ko akan dapat camni:
'C00000186341200011', 'C00000043034200011', 'C00000189011200011
pasal ko da suro substr() buang char terakhir kat hujung string, yakni '
amin.. klu dah guna implode xperlu substr lagi.
utk lebih faham apa yg implode buat..
<?php
$arr[1] ='satu';
$arr[2] ='dua';
$arr[3] ='tiga';
$arr[4] ='empat';
echo implode(",",$arr);
echo '<br/>';
//utk case hang spt5 cadangan karass
$fid_pertubuhan = "('" . implode("','",$arr) . "')";
echo $fid_pertubuhan;
?>
macam mane kalau buat camni?
for loop
if $f > 0
$ubah .= ",";
$ubah .= $papar == NULL ? "$medan = NULL" : "$medan = $papar";