SWIFT UI・PHP

ソースは、K_app2に有り。

K_app2 mysql DB 読み出し(JSON DATA)
–>> ContentView3

K_app2 –>> ContentView (別府温泉道 読み込み)

naver_maps_20211230App –>> ◊Http_POST_mysql5

平成4年(2022) 1月15日(土)

Get data from API and show in List – Swift UI, PHP
APIからデータを取得し、リストに表示– SWIFT UI、PHP

Xcode –> office70… 試験アクセスerror

The resource could not be loaded because the App Transport Security policy requires the use of a secure connection.

対処:以下によりok!!
NSAppTransportSecurity(dict)
その階層下にNSAllowsArbitraryLoadsを置く。 true or false

URLSessionデータの表示:
let outputStr = String(data: data, encoding: String.Encoding.utf8) as String?
Swift return data from URLSession

温泉データ表示ok!!


引数有り参考:
/details/?text1=’.$row[‘no’]
/spa9syu_details.php/?text1=1
customsearch/v1?q=%@&cx=%@&key=%@”,search_str,searchEngineId, apiKey)

//$input_data = $_GET[‘text1’];
//print(‘入力した値は’.$input_data.'<br>’);
//print(‘帰ってきた値の型は’.gettype($input_data));
//if(is_null($input_data)){$input_data=1;}


平成4年(2022) 1月16日(日)

温泉道への引数付きアクセス、数字、アルファベットは問題無し。
URLエンコードで引っかかる模様!!

How can I convert a string to Unicode in swift?

Swift で日本語を含む URL を扱う

関連:
addingPercentEncoding(withAllowedCharacters:)

mysql wildcard
パターンマッチングを行う(LIKE演算子)
//var itemString = “%” //大分県
var itemString = “%佐賀県%” //大分県

$sql = “SELECT * FROM ” . $db_name[‘kyusyu’] . ” WHERE pref LIKE “.”‘”.$input_data1.”‘” . ” AND quarity=”.”‘”.$input_data2.”‘” . ” ORDER BY no”;

mysql 二項目でのselect そしてワイルドカード利用 OK!!

これで、K_appに関して、ほぼ問題点はクリア

平成4年(2022) 2月11日(金)

navermapsが一段落し、昨日(旅からの翌日)からサーバーへのPOST関係。
試行錯誤したものの、JSONSerializationは、結局不要で、そのままUserDefaults(既にJSON)を送ることで解決。
このあとは、サーバー側にて、PHP部分の作成か(DB格納部分)

サーバにPOPして、若干操作して、JSONリターンまでOK!!
あとは、DB格納か。

PHPにおけるJSONエンコード整形

参考
How to access a json response in SwiftUI?
How to decode a property with type of JSON dictionary in Swift [45] decodable protocol
How to parse JSON using JSONSerialization

naver_maps_20211230内にHttp_POST_mysql有り。
UserDefaultsをK_app3.phpに送り、dbに格納。

K_app2.phpにて、読み込み json出力。

試行錯誤:phpからのjson読み込みのmodelは、オールstringにてok!!

次はmysqlの削除!!
★MYSQL DELETE UPDATE
PHP Delete Data From MySQL w3schools.com
MySQL DELETE Statement

DELETE FROM table_name;

【Swift】配列の末尾から要素を検索・取得する方法

平成4年(2022) 2月12日(土)

LISTの削除で検索いろいろ。
id: \.self)が必要。そのためには、codableは必要、解決策みつからず。。。
最終的に以下サイト、最後の部分は、id: \.self)を使用せずに済むかなど検討。
Listの行を削除する方法
How to delete multiple rows from List in SwiftUI?

List(apple site)有用な情報
List(apple site)有用な情報

リスト削除
K_app2内に、ListDelete ListDelete2 有り!!

平成4年(2022) 2月13日(日)

K_appD.php削除 OK!!
SQL文に間違いありで、ちょいもたもた。
DELETE FROM `k_list` WHERE
DELETE FROM ‘k_list’ WHERE <<– 不可!!

平成4年(2022) 2月14日(月)

phpMyAdmin mysql AUTO_INCREMENT
phpMyAdmin で自動的に連番をつけてくれる、AUTO_INCREMENT を設定する

LISTの削除で検索いろいろ。
id: \.self)が必要。そのためには、codableは必要、解決策みつからず。。。解決!! 以下2サイト Hashable Equatable 。
How to conform to the Equatable protocol
How to conform to the Hashable protocol

平成4年(2022) 3月2日(水)

もろもろ片付き、本日より再びSEVER関係。

まずは、MYSQLの構造と書き込みを詰めること

Http_POST_mysql5をK-APPに組み込みから、

K_app2内に読み込みあり。(MYSQLより)

平成4年(2022) 3月3日(木)

本日予定:
サーチ機能に、韓日の切り替え追加

サーバー版のdelete削除昨日追加
DBのnoを削除し、IDを主KEY設定。
INSERT … ON DUPLICATE KEY UPDATEを使えば、うまくいきそう。
MySQLのINSERT … ON DUPLICATE KEY UPDATEでレコードの挿入/更新を便利に実行
Insert into a MySQL table or update if exists

DBとの連携delete削除OK
INSERT INTOに ON DUPLICATE KEY UPDATE ID = ‘”.$value->ID.”‘”;
に変更。これで、重複データを送っても、格納されることは無い。

これまでで、一段落か!! あとは、SELECT文を使った表示の組み込み。
重要パーセントエンコード
// SELECT * FROM `k_list` WHERE category LIKE '%'
// 重要!! パーセントエンコードが必要!!!!
//
let itemEncodeString = select_str.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed)
let str1 = itemEncodeString

平成4年(2022) 3月4日(金)

K-appRについて、SELECT文にWHEREがある無し追加。
DB書き込みのUPDATA不足分追加。

Http_GET_mysqlのMODEL化、これによって、SERCH BAR表示までOK!!
search barの機能追加は、これから。あとはカテゴリーの選択をどうするか? filterでokか?

HTTP 読み 書き 更新等は、MODEL化する必要ありか。

平成4年(2022) 4月12日(火)

async/await 以下採用
Loading JSON data with async/await
async/awaitを使用したJSONデータの読み込み 日本語