I am c开发者_如何学Goonnecting to FileMaker Pro 11 Server with a ODBC Connection. I am importing some information from the eBay API.
When I recieve the address from ebay, it comes in two fields address1 and address2. In the FileMaker database we just have one field for address. I am trying to separate the two addresses with a line break or carriage return with PHP but it never seems to work.
I would try to insert:
"$var1\n$var2"
and FileMaker will read the \n as normal text. Same goes for \r. I have also tried setting the string with:
<<<EOF
with no success either. I also tried the pie symbol that I read works for line breaks but it does not work in this manner.
So basically.. how can I insert a line break that filemaker will understand with php pdo and odbc?
I did some testing, and found that even if I did something like $var1 . ord( 10 ) . $var2
it wasn't working correctly. I did double-check and the carriage return in a field when typed in from within the FileMaker client is ASCII char 10 (\n
). So here's how I solved it.
I edited the record to insert '12<br>34'
. Then I set the field definition within FileMaker for the field I was setting to auto-enter a calculation. My field was called TestField
, so my calculation turned out to be Substitute( TestField; "<br>"; ¶ )
. Make sure you uncheck the Do not replace existing value
checkbox. Once I did that, editing the field from PHP using '12<br>34'
as the string put in a carriage return between the 12
and the 34
.
Ran across this page on google when having the same problem. Didn't want to try using the auto-enter cal option so got it going with php alone...
$var1 . char( 13 ) . $var2
Also when pulling a value out of FileMaker field that has carriage returns you need to be careful when you put it into a variable and back into FileMaker. For example:
To pull it into a php variable:
$variable = nl2br($record->getField("field1"));
and to put it back into FileMaker:
$record->setField('field1',str_replace('<br />',chr(13),$variable));
Regards
The break has to be in it's own double quote like this:
$var1 . "\n" . $var2
or:
'var1' . "\n" . 'var2'
Ran into this issue with Filemaker and Java JDBC today. Here's the solution which may of help to others.
Character ch = new Character('\n');
String dataForFM = "Field Data Here" + ch.toString() + "More Field Data Here";
精彩评论