すべての行は列数が同じじゃないといけない
→全部2列ということにしておく(最大の列数にあわせるしかない)
全体が2列ですといっておいて、合併をすることでつじつまを合わせる
コルスパンというのを使う
<table>
<tr>
<td colspan="2">hoge</td>
</tr>
<tr>
<td>hoge</td><td>hoge</td>
</tr>
<tr>
<td colspan="2">hoge</th>
</tr>
</table>
<td colspan="2">とは「サイド方向に2つ分使うよ」という意味
colとはカラムのこと
縦にぶちぬくときはロースパンというのを使う
rowspan
書く場所がここ
最初のtrの中身に書くのか
cssをすこし整えて、
さてメールにはidがついていたはず
レコードを特定するためにある
このid番号を特定してAjaxで通信させて下側に表示されたい
data属性:
自分で勝手に情報をつくっていい唯一の属性
こうやってdata属性で埋めておきたい
そうすることでクリックするとjQueryで受け取ることが出来る
Ajaxの通信でよくこのdata属性は使われる
data-(ハイフン)までが型。そのあとは自由に自分で決めてよろしい
さてidをとってきたいがmailsにもmembersにもidがある
よって、
mails.id
をselect文を足すが、
フェッチで取り出すときに便利にしたいので
AS句で別の名前を付けておく
「テーブル名.カラム名」となったときは配列化されないので別名を付ける必要がある
これが連想配列のキーになるようにしておく
iとしておきますかね
$sql = "SELECT mails.id AS i,subject,sendtime,m_name FROM mails,members WHERE m_from=members.id AND m_to=:m_to ORDER BY sendtime DESC";
さてdata-id="1"のところにはめこみたい
上の行でフェッチされてるから$rowに入っているはず
ちゃんとはじめに
<td data-id="1"
と書いてから該当部分にはめこむ
<td data-id="<?php echo $row["i"]; ?>" class="subject"><?php echo htmlspecialchars($row["subject"],ENT_QUOTES); ?></td>
検証で見て、見た目は変わってなくてもdata-id="1"がはめこまれているのを確認
指定されたメールidをとってくる
jsonとして渡す
新規作成
事前に作ったapiフォルダにget_mail_data.phpで保存
まずgetでちゃんとidが送られてきているかどうかで分岐
いつものをやって
$rowをjsonエンコードしたものをエコーする
jQuaryがみえる(取得できる)ようにエコーする