The implode function goes in the code that performs the insert or update.
In the case of the dreamweaver insert record code, lets say the INTERESTS form element is a multiple select list, you would need to adjust the insert record code like this:
$updateSQL = sprintf("UPDATE tblPractice1 SET memberID=%s, DIMENS=%s, INTERESTS=%s, languages=%s, ages_served=%s, treatment_techniques=%s, geo_location=%s WHERE practiceID=%s",
GetSQLValueString($_POST['memberID'], "int"),
GetSQLValueString($_POST['DIMENS'], "text"),
GetSQLValueString(implode(", ", $_POST['INTERESTS']), "text"),
GetSQLValueString($_POST['languages'], "text"),
GetSQLValueString($_POST['ages_served'], "text"),
GetSQLValueString($_POST['treatment_techniques'], "text"),
GetSQLValueString($_POST['geo_location'], "text"),
GetSQLValueString($_POST['memberID'], "int"));
In the case of the DataAssist Update page:
$WA_fieldValuesStr = "".((isset($_POST["DIMENS"]))?$_POST["DIMENS"]:"") ."" . "|" . "".((isset($_POST["INTERESTS"]))?implode(", ", $_POST["INTERESTS"]):"") ."" . "|" . "".((isset($_POST["languages"]))?$_POST["languages"]:"") ."" . "|" . "".((isset($_POST["ages_served"]))?$_POST["ages_served"]:"") ."" . "|" . "".((isset($_POST["treatment_techniques"]))?$_POST["treatment_techniques"]:"") ."" . "|" . "".((isset($_POST["geo_location"]))?$_POST["geo_location"]:"") ."";
$WA_columnTypesStr = "',none,''|',none,''|',none,''|',none,''|',none,'' |',none,''";
The options you selected in the select list are being sent as an array. The implode function is converting the array to a coma separated list.
In the case of an Insert page that is fine, but when on an update page, you need to add custom code to preselect the items in the select list based on the comma separated list in the database.
The following thread has information on how to accomplish that:
showthread.php?t=4045&highlight=in_array