FileMaker 11 PHP и ODBC новая строка / возврат каретки - PullRequest
5 голосов
/ 12 апреля 2011

Я подключаюсь к серверу FileMaker Pro 11 через соединение ODBC.Я импортирую некоторую информацию из eBay API.

Когда я получаю адрес от ebay, он появляется в двух полях address1 и address2.В базе данных FileMaker у нас есть только одно поле для адреса.Я пытаюсь разделить два адреса с помощью разрыва строки или возврата каретки с помощью PHP, но это, кажется, никогда не работает.

Я бы попытался вставить:

"$var1\n$var2"

, и FileMaker прочитает\ n как обычный текст.То же самое касается \ r.Я также попытался установить строку с:

<<<EOF 

, но безуспешно.Я также попробовал символ круговой диаграммы, который я прочитал, работает для разрывов строк, но он не работает таким образом.

Так в принципе .. как я могу вставить разрыв строки, который filemaker поймет с помощью php pdo и odbc?

Ответы [ 4 ]

2 голосов
/ 13 апреля 2011

Я провел некоторое тестирование и обнаружил, что даже если я сделал что-то вроде $var1 . ord( 10 ) . $var2, это не сработало правильно.Я дважды проверил, и возврат каретки в поле при вводе из клиента FileMaker - ASCII char 10 (\n).Вот как я это решил.

Я отредактировал запись, вставив '12<br>34'.Затем я установил определение поля в FileMaker для поля, которое я настраивал для автоматического ввода расчета.Мое поле называлось TestField, поэтому мой расчет оказался Substitute( TestField; "<br>"; ¶ ).Убедитесь, что вы сняли флажок Do not replace existing value.Как только я это сделал, отредактировал поле из PHP, используя '12<br>34' в качестве строки, вставленной в возврат каретки между 12 и 34.

1 голос
/ 19 февраля 2014

Сегодня столкнулся с этой проблемой с Filemaker и Java JDBC.Вот решение, которое может помочь другим.

Character ch = new Character('\n');                    
String dataForFM = "Field Data Here" + ch.toString() + "More Field Data Here";
1 голос
/ 28 декабря 2012

Перерыв должен быть в собственной двойной кавычке, например:

$var1 . "\n" . $var2

или

'var1' . "\n" . 'var2'
1 голос
/ 04 мая 2011

Пробежал по этой странице в Google, когда возникла та же проблема.Не хотел пытаться использовать опцию auto-enter cal, поэтому начал работать только с php ...

    $var1 . char( 13 ) . $var2  

Также при извлечении значения из поля FileMaker с возвратом каретки нужно быть осторожнымкогда вы положите его в переменную и обратно в FileMaker.Например:

Чтобы вывести его в переменную php:

    $variable = nl2br($record->getField("field1"));

и поместить его обратно в FileMaker:

    $record->setField('field1',str_replace('<br />',chr(13),$variable));

С уважением

...