忍者ブログ

からすまる日誌 mySQL

授業ノートのまとめ

応用(26) intra mail(4) コルスパンとロースパン

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

応用(26) intra mail(4) コルスパンとロースパン

すべての行は列数が同じじゃないといけない
→全部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がみえる(取得できる)ようにエコーする
 
PR

コメント

ただいまコメントを受けつけておりません。

プロフィール

HN:
karasumaru
性別:
非公開

P R