在德国,我们有街道名称和门牌号码。我使用的数据库将两者存储在单个列中(例如“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条经验 获得超7个赞
好吧,我找到了解决方案。将代码添加到 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 关注
- 127 浏览
添加回答
举报
0/150
提交
取消