Q&A掲示板を質問→回答→返信で作成したいと考えているのですが、ネストが4段階以上深くなった段階で返信ボタンが出なくなるなどの不具合が発生する可能性があるとアドバイス頂きました。
テーブル構成と方法を変えることでネストを更に深くすることは出来ないでしょうか?
※テーブル構成
ID (質問番号)・・・・識別用のカラム
TS (投稿日時)・・・・公開期間終了後に質問を cron で削除するため?、回答の日時を把握する(〇日前)
question (内容)・・・・質問、回答の投稿文
title (タイトル)・・・・質問タイトル
namae (名前)・・・・質問、回答者名
stamp (リアクションスタンプ)・・・・質問スタンプ
unique_id (質問UUID)・・・・アップロードされたファイル名の改名に使用
ip (IPアドレス)・・・・セキュリティ保護のために保存
attach1 (アップロードされたファイル)・・・・1、2、3で分けているのは1つ目の画像を一覧表示&1つ目の動画を横スクロールで表示するため
attach2 (IPアドレス)・・・・略
attach3 (IPアドレス)・・・・略
usericon (アイコン画像)・・・・質問、回答のアイコン画像
comment_id (回答に対する返信のID)・・・・返信 ID
※方法
親IDが NULL(紐づけられていない)のものを質問として、親IDが設定されているものを回答とする。
No.6ベストアンサー
- 回答日時:
> 10段までは段下げするが11段以降は段下げ幅を0にするというのは11段以降はどうなるのでしょうか?
この質問が出てくる意味が分かりません。
「段下げ幅を0にする」と書いたのですが?
もしかして「段下げ幅」という言葉の意味が分からないと言うことなのでしょうか?であればそのように聞いて下さい。
「段下げ幅を0にする」というのは「段下げをしない」という意味です。実装をイメージして「段下げ幅を0にする」という書き方をしました。
> あるいは、10段までは段下げするが11段以降は段下げ幅を0にするとかで、要件を満たせるならそれでもいいし。
と、書いたとおりで、「10段までは段下げするが11段以降は段下げをしない」ことでも要件を満たせる場合に限ってですが。
回答ありがとうございます。理解することが出来ました、質問が分かりにくく申し訳ありません。
階層を条件で区切るか、無限のどちらかということですね。
No.5
- 回答日時:
#3
>申し訳ありません今後の掲示板の軸になるので、どうしても回答が知りたくてマルチポストしてしまいました。
いえ、厳密には責めているというよりは、技術系の板でせっかくテクニカルな回答をもらえているのですから、そこで掘り下げていくほうがより確実な解決につながるのになぁ・・・という感想です。向こうで質問を続けられないほど特に炎上しているわけでもなかったと思いますし、なぜこんなコミュニケーションサイトに出張ってくるのかなぁ・・・と。
私もteratailでそこそこ頑張っているつもりですが、書き込みのメインは実はこちらの方ですし、ここのサイトの仕組み上あまり技術的な質問には向かないのはよくわかっているつもりなので。
回答ありがとうございます。
以前からテラテイルとgoo質問を交互に質問させて頂いているのですが、goo質問では具体的なコードやテーブルについての修正点などのヒントをもらえる為、利用させて頂いております。
テラテイルでは方法を教えて頂き、それについて自分で考えて分からなかった場合はgoo質問で聞くというパターンが以前幾度となくありましたので…
同時に質問してマルチポストになるのは避けるべきでした申し訳ありません。
No.4
- 回答日時:
> 段下げを無限の幅にせずに実装することは可能でしょうか?
簡単な数学ですが、段下げ幅が0でなければ、無限を掛ければ掛け算の結果は無限です。
段下げをしないでうまく見えるデザインを考えるしかないでしょう。
あるいは、10段までは段下げするが11段以降は段下げ幅を0にするとかで、要件を満たせるならそれでもいいし。
アドバイスありがとうございます。
10段までは段下げするが11段以降は段下げ幅を0にするというのは11段以降はどうなるのでしょうか?
No.3
- 回答日時:
わざわざ技術系のサイトでテクニカルなアドバイスをもらっていながら、あえて教えてgooのようなコミュニティサイトにマルチポストしてもいいことなにもないですよ。
No.2
- 回答日時:
こんにちは
>返信ボタンが出なくなるなどの不具合が発生する可能性~
単に、画面から見切れてしまって表示されないという意味なのか、そもそも出力がされないという意味なのか不明ですが・・・
ボタンが出力されないのなら、それは出力側のプログラムの問題です。
表示が見切れてしまうのなら、横スクロールで対応するとかにしておけば良いのではないでしょうか?
(折り返しでも良ければ、非表示になるような設定をしていない限りは、レイアウトはともかくブラウザは極力表示しようとしてくれるはずです。)
すでに指摘があるように、データ構成と表示は直接関係はありません。
最終的にどのようなHTMLにしているのかも不明ですけれど、インデントがネストしても必ず表示できるようにしたいのなら、項目欄にmin-widthを設定しておくことで項目の最低幅を確保できるようになるので、合計が画面幅を超えればブラウザは横スクロールで対応するようになります。
(親要素に overflow: hidden 等を設定していればスクロールしませんけれど)
あるいは、ネストが深くなったら、一旦キャンセルするという方法もあるかも知れませんが、関係性の視認しやすさに一工夫が必要になりそうですね。
以下は、簡単な一例です。
※ すぐに見切れるように、わざとインデント幅を大きくしてあります。
※ 見切れない場合は、ブラウザ幅を小さくしてみてください。
(fx、chromeで確認)
<!DOCTYPE HTML>
<html lang="ja">
<head><title>Sample</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
#wrap ul { list-style-type: none; }
#wrap ul ul { padding-left: 8em; }
#wrap ul li { min-width: 30em; }
#wrap ul ul li:before { content: "┗ "; }
#wrap ul ul li:has(> ul):before { content: none; }
/* 以下おまけ */
#wrap ul li:after {
content: "返信";
font-size: 0.8em;
vertical-align: top;
margin-left: 1.5em;
padding: 0 .5em;
background-color: #DDD;
border: 2px solid gray;
border-width: 0 2px 2px 0;
border-radius: 0.3em;
}
#wrap ul li:has(> ul):after { content: none; }
</style>
</head>
<body>
<div id="wrap">
<ul>
<li>項目1</li>
<li><ul>
<li>項目1-1</li>
<li><ul>
<li>項目1-1-1</li>
<li><ul>
<li>項目1-1-1-1</li>
<li><ul>
<li>項目1-1-1-1-1</li>
<li><ul>
<li>項目1-1-1-1-1-1</li>
</ul></li>
<li><ul>
<li>項目1-1-1-1-1-2</li>
</ul></li>
<li>項目1-1-1-1-2</li>
<li><ul>
<li>項目1-1-1-1-2-1</li>
</ul></li>
</ul></li>
</ul></li>
</ul></li>
</ul></li>
<li>項目2</li>
<li><ul>
<li>項目2-1</li>
</ul></li>
</ul>
</div>
</body>
</html>
Q.返信ボタンが出なくなるなどの不具合が発生する可能性~
単に、画面から見切れてしまって表示されないという意味なのか、そもそも出力がされないという意味なのか不明ですが・・・
A.回答ありがとうございます、恐らく前者になります。
Q.表示が見切れてしまうのなら、横スクロールで対応するとかにしておけば良いのではないでしょうか?
(折り返しでも良ければ、非表示になるような設定をしていない限りは、レイアウトはともかくブラウザは極力表示しようとしてくれるはずです。)
すでに指摘があるように、データ構成と表示は直接関係はありません。
A.アドバイスありがとうございます、横に広げるという発想はなかったですが返信できる深さの上限を決めておく場合は有効そうですね。
覚えておきます。
Q.最終的にどのようなHTMLにしているのかも不明ですけれど、インデントがネストしても必ず表示できるようにしたいのなら、項目欄にmin-widthを設定しておくことで項目の最低幅を確保できるようになるので、合計が画面幅を超えればブラウザは横スクロールで対応するようになります。
(親要素に overflow: hidden 等を設定していればスクロールしませんけれど)
あるいは、ネストが深くなったら、一旦キャンセルするという方法もあるかも知れませんが、関係性の視認しやすさに一工夫が必要になりそうですね。
A.参考コードありがとうございます。min-widthを設定して画面幅を超えればブラウザは横スクロールという考えはなかったですが、確かに横スクロールさせてしまえば表示されなくなる心配もなさそうです勉強になりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript Q&A掲示板の入力フォームに文字数制限を設けて入力可能な文字数を表示したい 1 2024/04/08 02:46
- JavaScript Javascript で共通の処理をどこまでまとめるべきか分からないのでアドバイスお願い致します 1 2024/03/19 12:04
- Wi-Fi・無線LAN PCWi-Fiの設定方法がわからなくて困っています。 4 2022/12/28 18:30
- 教えて!goo この「教えて」について。嫌な回答者を回答させない方法は? 5 2023/12/08 17:05
- その他(データベース) Q&Aフォームを作成したいのですが、どう設計してよいか分かりません、アドバイスお願い致します。 1 2023/07/27 19:04
- JavaScript JavascriptのHTMLクラス表示について 1 2024/03/10 19:10
- Excel(エクセル) エクセルでID番号を保持したまま横並びのデータを縦の一本のデータにしたい 3 2023/09/30 05:11
- 教えて!goo 質問の回答にわざわざ、質問者のIDを使って「○○様」などと文中にやたらID連呼の回答をする人がなぜい 7 2023/02/07 13:10
- 教えて!goo Bing共有リンクへの回答をしたところブロックされました。 2 2023/08/27 17:45
- JavaScript javascriptのエラーで質問です。 2 2024/02/03 18:52
このQ&Aを見た人はこんなQ&Aも見ています
-
【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
【お題】 ・存在しそうで存在しないモノマネ芸人の名前を教えてください
-
「平成」を感じるもの
「昭和レトロ」に続いて「平成レトロ」なる言葉が流行しています。 皆さんはどのようなモノ・コトに「平成」を感じますか?
-
初めて自分の家と他人の家が違う、と意識した時
子供の頃、友達の家に行くと「なんか自分の家と匂いが違うな?」って思いませんでしたか?
-
プリン+醤油=ウニみたいな組み合わせメニューを教えて!
プリンと醤油を一緒に食べると「ウニ」の味がする! というような意外な組み合わせから、新しい味になる食べ物って色々ありますよね。 あなたがこれまでに試した「組み合わせメニュー」を教えてください。
-
タイムマシーンがあったら、過去と未来どちらに行く?
20XX年、ついにタイムマシーンが開発されました。 あなたは過去に行く? それとも未来? タイムマシーンにのって、どこに行って、何をしたいか教えてください!
-
アップロードファイルを表示するためにはどうすればよいでしょうか?
PHP
-
次の日本語の意味を教えて下さい
C言語・C++・C#
-
これて逆じゃないですか?
C言語・C++・C#
-
-
4
逆コンパイルと逆アセンブルの違いはなんですか
C言語・C++・C#
-
5
至急助けてください!!!あと2時間しかないです! ボタンを押したら0ランプが点灯し、コンマ5秒後に1
その他(プログラミング・Web制作)
-
6
プログラミングの進学について
その他(プログラミング・Web制作)
-
7
Cのプログラムからアクセスできないファイル名の一括変更方法
C言語・C++・C#
-
8
どちのほうがすきですか?
C言語・C++・C#
-
9
プログラマーに向いている人の特徴や性格は何がありますか?
その他(プログラミング・Web制作)
-
10
OSS(オープンソースソフトウェア)のライセンスについて簡易に書かれている本やサイトについて
オープンソース
-
11
あんまり考えたくないけど
C言語・C++・C#
-
12
プログラミングのやり方ざっくりでいいから教えて
その他(プログラミング・Web制作)
-
13
プログラミング言語について
その他(プログラミング・Web制作)
-
14
c++の勉強方法を教えてくださいプログラミングをやった事がなく1から勉強を始めようと思います1日1時
C言語・C++・C#
-
15
こんなことてしますか??
C言語・C++・C#
-
16
mallocについて
C言語・C++・C#
-
17
プログラミングを教えたいです。そういうSNSないですか?
その他(プログラミング・Web制作)
-
18
AIの登場でプログラマーたちが解雇されていますが
その他(プログラミング・Web制作)
-
19
プログラマーと学歴の関係性について
その他(プログラミング・Web制作)
-
20
プログラミングの課題がわからないので教えていただきたいです。特にサークル関数を定義した後に呼び出す方
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・ハマっている「お菓子」を教えて!
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
LINEの返信は、1.2日おきだった...
-
なぜ、LINEの返信が2日後ぐらい...
-
よくお疲れ様ってラインがくる...
-
男性に質問です。 LINEの返信が...
-
好きな人に、照れるわwってLINE...
-
1ヶ月も未読スルーしてしまい...
-
LINEの返信で「そっか」と来たら...
-
LINEしていて返信速度を合わせ...
-
ホントに嫌いになった、関わり...
-
返信遅いくせにDM続けて来よう...
-
1日1回だけLINEを返してくれる...
-
未読スルーされて20時間後くら...
-
メールで、「Please enter your...
-
ありがとう!って返信きたら既...
-
既読つけてるのに返さない人っ...
-
好きな人から、このアーティス...
-
LINEの名前をコロコロ変えるの...
-
わざわざ朝の4時とか早い時間に...
-
秒で既読つけちゃったときの対...
-
キャバ嬢のLINEについてお聞き...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
なぜ、LINEの返信が2日後ぐらい...
-
LINEの返信は、1.2日おきだった...
-
よくお疲れ様ってラインがくる...
-
男性に質問です。 LINEの返信が...
-
1ヶ月も未読スルーしてしまい...
-
LINEの返信で「そっか」と来たら...
-
メールで、「Please enter your...
-
好きな人に、照れるわwってLINE...
-
未読スルーされて20時間後くら...
-
LINEしていて返信速度を合わせ...
-
1日1回だけLINEを返してくれる...
-
ホントに嫌いになった、関わり...
-
返信遅いくせにDM続けて来よう...
-
キャバ嬢のLINEについてお聞き...
-
既読つけてるのに返さない人っ...
-
わざわざ朝の4時とか早い時間に...
-
ありがとう!って返信きたら既...
-
LINEの名前をコロコロ変えるの...
-
LINEグループで返信してくれな...
-
好きな人から、このアーティス...
おすすめ情報