я использую smarthsheet api, чтобы поместить некоторые данные в лист с php.
Все работает нормально. но мне нужно изменить цвет столбца, если он соответствует определенному условию.
Поиском я нашел параметр, известный как форматирование:
http://smartsheet-platform.github.io/api-docs/?shell#formatting
Но я не уверен, как его использовать. пожалуйста помогите в этом.
$dataString.='{"columnId": 799, "value": "'.$this->clean_string($data['routing_number']).'"},';
Вот как я обновляю значения столбца. как я передаю форматирующий параметр, чтобы изменить его цвет. Цвет по умолчанию — черный. Мне нужно изменить на красный.
Прошло некоторое время с тех пор, как был задан этот вопрос, у меня он был открыт, так как он был задан, но только сейчас есть время, чтобы попробовать и ответить, надеюсь, ответ по-прежнему полезен 🙂
Просто для ясности объясню свои предположения
Мое решение принимает входные данные в форме слов, разделенных пробелами, любое введенное слово должно присутствовать в результатах, но оно может быть из любого поля «business_name или business_description», если входные данные не заданы, выполнить общий запрос.
Я добавил базовую дезинфекцию во входные данные и упростил код
<?php
$keywords = trim(filter_var($_REQUEST["keywords"], FILTER_SANITIZE_STRING, FILTER_SANITIZE_MAGIC_QUOTES));
$query = "SELECT * FROM business_listing";
if(strlen($keywords) > 0)
{
$words = explode(" ",$keywords);
$query .= " WHERE ";
foreach ($words as $word)
{
$safeWord = mysql_real_escape_string($word);
$query .= "(business_name LIKE '%" . $safeWord . "%' OR business_description LIKE '%" . $safeWord . "%') AND ";
}
$query = rtrim($query, " AND");
}
echo $query;
?>
Вы можете запустить это с помощью следующего аргумента в URL, если php был сохранен в файле search.php
search.php?keywords=gopher test fish
Это приведет к следующему оператору SQL
SELECT * FROM business_listing WHERE (business_name LIKE '%gopher%' OR business_description LIKE '%gopher%') AND (business_name LIKE '%test%' OR business_description LIKE '%test%') AND (business_name LIKE '%fish%' OR business_description LIKE '%fish%')
По просьбе Санта-Напа из Саноджа Шарма это произвело бы
SELECT * FROM business_listing WHERE (business_name LIKE '%santa%' OR business_description LIKE '%santa%') AND (business_name LIKE '%napa%' OR business_description LIKE '%napa%')
Других решений пока нет …