- ベストアンサー
IF文の書き方。
CGIでhtml表示部分を作成中です。 if文で以下のような物を構築したいのですが可能でしょうか? 表のサイズ(幅)はユーザーが選べるようにしています($all_width = "xxx";)。 いくつかの項目(リンク)がその表の中にあります。 このときに表の幅が何ピクセル以上だったら一列に表示したいので項目の間には空白を入れそれ以下だと文字が1つだけ下に行くなどのデザイン上おかしくなることを防ぐため改行を入れるという風にしたいのですが… if ($all_width = "xxx"){ ##←ここがよくわからない print <td align=\"center\"><a href=\"xxx\" target=\"$tar\">項目1 </a> <a href=\"xxx\" target=\"$tar\">項目2</a></td>\n"; } else { ##←ここにもそれ以下だったらが必要? print <td align=\"center\"><a href=\"xxx\" target=\"$tar\">項目1 </a><br><a href=\"xxx\" target=\"$tar\">項目2</a></td>\n"; } 幅がこれ以上だったらこっちを表示、それ以下だったらこっちを表示とさせたいのですが可能でしょうか? よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
CSIの言語は何でしょう? これ以上は if ($all_width >= "xxx") ##言語によっては書き方が異なるかも これ以下は、今回の場合 else だけで判断できます。 より大きい > より小さい < 以上 >= 以下 <= 質問の書き方だと、 "xxx"の時だけ空白、それ以外(大きいか小さい時)は改行となります。
その他の回答 (1)
- nonchi
- ベストアンサー率43% (16/37)
if ($all_width >= "xxx") { とダブルクォートでくくっちゃうと文字列扱いになるからif ($all_width >= xxx) { ではないですかね? 分岐させる処理が2つしかないなら、 if (条件) {} else {} でよいでしょうね。
お礼
ありがとうございます。ばっちり動きました。 簡単なことだったんですね。 勉強になりました。
補足
回答ありがとうございます。 えっと、言語はperlです。 その場合、これでOKでしょうか? …って試してみればいいだけでした。 やってみてダメだったらまた報告します。