web版αテスト開始です。
ようやくweb版の形が出来てきました。
まだまだ完成には遠いですが、頑張っていきたいです。
今回はjavascriptも兼ねた、データベースから呼び出した文字列の表記についてです。
SQLでは立て列をフィールド(列)、横列をレコード(行)と呼びます。
databaseに医薬品名を複数登録する際は、それぞれのカラムに医薬品を登録する方法は、
例)
|医薬品1 |医薬品2 |医薬品3 |
という方法がありますが、これでは登録医薬品数が膨大になった場合に、フィールドが非常に多くなってしまいます。
新たに入力をする場合にも、修正をする場合にも膨大な量となってしまいます。
ですので、
|医薬品 |
と、特定の文字で区切ってしまう方法があります。
PHPでは連想配列を結合して、特定の文字を入れ替えることができます。
inputの際に薬を配列[]と設定することによって薬[0]~薬[x]までを配列に保管できます。
連想配列を用いて、
$_SESSION['入力した内容全て']['薬'] = implode(":",$_SESSION['入力した内容全て']['薬'])
としてしまえば、入力した薬は配列で区切られ末尾に":"が付与されます。
結果として
薬1:薬2:薬3:
の状態でdatabaseに保存されます。
入力時には":”を付与し、表示時には":"を検索し、その部分で再度切り取ってしまえばいいわけです。
表示の際はjavascriptのsplitという関数で可能です。
var 薬 = "<php echo htmlspecialchars($呼び出した配列[医薬品]);".split(":");
とすることによって、":"の部分で切り取られて配列に組み込まれます。
document.write(薬[0])
document.write(薬[1])...
とすることによって、医薬品名がそれぞれ切り離された状態で表示されます。
今回はそんな難しい話でした。
----------
webからの新規登録は募集していませんが、αtester随時募集中です。
連絡はこちらまで / @pharmacist753