Aqui esta tu codigo correctamente indentato (no se en espanol como se dice)
  Código PHP:
    $sql_campos="SHOW COLUMNS FROM $tabla";
$result = mysql_query($sql_campos,$link);
echo "<tr><td colspan='2' class='encabeza'>Editando $tabla</td></tr>";
while ($row = mysql_fetch_assoc($result)) {
    $campos=$row;
    echo "<tr>";
    echo "<td align='right' valign='top'>".$campos['Field'].": </td>";
    echo "<td>";  
    if($campos['Key']=='MUL') {
        $campo_foraneo = $campos['Field'];
        $sql="SELECT CONCAT( referenced_table_name) AS tabla_referencia FROM information_schema.KEY_COLUMN_USAGE WHERE REFERENCED_TABLE_SCHEMA = 'dpswd' AND REFERENCED_TABLE_NAME IS NOT NULL AND COLUMN_NAME = '$campo_foraneo' ORDER BY TABLE_NAME, COLUMN_NAME";
        $result=mysql_query($sql,$link);
        $cols=mysql_fetch_object($result);
        $tabla=$cols->tabla_referencia; 
        $sql="select * from dpswd.$tabla";
        $result=mysql_query($sql,$link);
        echo "<select name='".$campos."'>";
        echo "<option>- - - </option>";
        while ($select=mysql_fetch_assoc($result) ){
            $select_campo=$select;
            echo "<option value='".$select_campo[$campo_foraneo]."'>".$select_campo[$tabla]."</option>";
        }
        echo "</select>";
    }
    elseif( $campos['Type']=='longtext' ) {
        echo "<textarea name='".$campos['Field']."' cols='50' rows='7'></textarea>";
    }
    else {
        if( $campos['Key']=='PRI' ) {
            echo $id_;
        }
           else {
            echo "<input type='text' name='".$campos['Field']."' value='$value' />";
        }
     }
     echo "</td>";
     echo "</tr>";
 } 
    
  Bueno ahora:
$value tiene que ser un resultado de qual consulta??