在德國,我們有街道名稱和門牌號碼。我使用的數據庫將兩者存儲在單個列中(例如“Arnoldstra?e 12”),并且我想將兩者分成單個變量。我有這個代碼:$street= $row[2]; //This row is from an array with values of the database. The other rows are submitted perfectly.preg_match('/([^\d]+)(\d+.*)/', $street, $matches);$street_new = trim($matches[1]);$house_number= trim($matches[2]); while ($row = $jobDB->fetchArray($result)) { $this->setReturnValue('strasse', $street_new); $this->setReturnValue('hausnummer', $house_number); return; }之后,我使用 JS 代碼將其(以及更多值)放入網站上的表單中。其他值都可以順利到達那里,只是缺少街道名稱和門牌號。這是 JS 代碼:var auto_complete = function() { var kontonr = jr_get_value('tb_kundennummer'); jr_execute_dialog_function('autoComplete', {kontonummer: kontonr}, mySuccessCallback); }var mySuccessCallback = function(returnObject) { jr_set_value('tb_kunde_strasse', returnObject.result.street_new); jr_set_value('tb_kunde_hausnummer', returnObject.result.house_number);}我究竟做錯了什么?
1 回答

慕田峪9158850
TA貢獻1794條經驗 獲得超8個贊
好吧,我找到了解決方案。將代碼添加到 while 循環后,它運行得很好:
while ($row = $jobDB->fetchArray($result)) {
$street= $row[2];
preg_match('/([^\d]+)(\d+.*)/', $street, $matches);
$street= trim($matches[1]);
$house_number= trim($matches[2]);
$this->setReturnValue('strasse', $street);
$this->setReturnValue('hausnummer', $house_number);
return;
}
我不是一個開發人員,但也許是因為 $row 僅在 fetchArray 之后調用才有效。但我不確定。
- 1 回答
- 0 關注
- 177 瀏覽
添加回答
舉報
0/150
提交
取消