We study the problem of downlink bandwidth allocation in WCDMA networks. The WCDMA network consists of a number of cells, each serving a group of users. In one cell, the radio resource, in terms of transmission power, is allocated among its users. For a user, its bandwidth is chosen among a (discrete) set of transmission rates, where every transmission rate corresponds to a power level required to meet the signal-to-interference (SIR) target. We are interested in designing an efficient algorithm for assigning transmission rates to the users, with the objective of optimizing some performance criterion, such as the total throughput. We show how this problem can be formulated using one multiple-choice knapsack model per cell. Our model accounts for channel orthogonality as well as intra- and inter-cell interference. We then propose a dynamic programming solution technique. When applied to an approximation of the model, in which the power levels are quantized, the algorithm has a pseudo-polynomial worst-case performance guarantee. In particular, the algorithm runs in polynomial time for a given power limit and a fixed number of quantization steps. In our numerical experiments, the algorithm constantly achieves the global optimum using less than 10,000 quantization steps. The proposed algorithm is therefore suitable for dynamic, real-time bandwidth allocation. Our model of bandwidth allocation can also be generalized to include additional features, such as user fairness.