- ベストアンサー
PHPでの表示内容の切り替え
お世話になります。 複数表示してある画像をクリックすると、クリックのした画像に関する説明テキストと画像を画面下部に表示させたいです。 画像をクリックしたら任意の変数をセットして再読み込みし、対象のソースを表示する、こんな処理できるでしょうか。 ご教授よろしくお願い致します。 また参考ソース、サイトありましたらお教えください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
※ 以下、補足とお礼に書かれた内容に対するコメントです > クリックしたとき配列のNo.を変数($mode)セットし出力するという処理でよいでしょうか。 違います。例えば… http://localhost/index.php?mode=explain&id=1 …のようにindex.phpにパラメータが渡されたとすると、$_GET['mode'] に 'explain' が入り $_GET['id'] に '1' が入ります。 「スーパーグローバル変数」の理解が怪しいですので、最低限 $_GET と $_POST の意味から調べてみると良いです。 http://www.php.net/manual/ja/language.variables.superglobals.php > <a href= をどのように記述したらよいでしょうか。 私のコードをコピペすれば動きますよ。 ※全角スペースは半角に置換してください。 初心者の方は、往々にして書籍等のコードを見よう見まねで手打ちする事がありますが、それよりもまずはキチンと動くコードを実際にブラウザ上で動かしてみて、その挙動をよ~く確認するようにすると良いです。 「PHPのソースコード」「ブラウザの画面」「ブラウザ上部に表示されるURL」の3つをにらめっこしながら何度も動かしていると、細かい部分は理解できなくとも、大雑把に全体の流れがイメージできるようになります。まずはそこから始めてみてください。全体のイメージがつかめないまま1行1行を理解しようとするのは駄目です。「木を見て森を見ず」ってやつです。 > <a href="$mode = (isset($_GET['mode'])) ? $_GET['mode'] : '';"><img src="001.png"></a> > で良いでしょうか。 自分で試してみましたか? もしご自分のパソコン上にPHPを実行できる環境が整ってないのであれば、とりあえずプログラムは置いておいて、まずはその環境づくりからです。「急がば回れ」ってやつです。 https://www.google.co.jp/search?q=Windows+PHP+%E5%AE%9F%E8%A1%8C%E7%92%B0%E5%A2%83
その他の回答 (2)
- cheese014
- ベストアンサー率85% (12/14)
イメージとしてはこんな感じでしょうか? すぐ動きを確認できるように $config という2次元配列を使ってますが、実際には csv なり DBに格納したデータなりを使うようにすると良いです。 ※注意※ インデントに全角スペースを利用しています。動かす際は全角スペースを半角スペースに置き換えてください。 //-- 設定 $config = array( '1' => array( 'path' => 'img/1.jpg', 'caption' => '1の説明です' ), '2' => array( 'path' => 'img/2.jpg', 'caption' => '2の説明です' ), ); //-- 動作モード $mode = (isset($_GET['mode'])) ? $_GET['mode'] : ''; //-- 画像リスト出力 foreach ($config as $id => $data) { echo "<a href='{$_SERVER['SCRIPT_NAME']}?mode=explain&id={$id}'><img src='{$data['path']}'></a><br>"; } //-- 画像の説明文を表示 if ($mode === 'explain') { if (isset($_GET['id'], $config[$_GET['id']])) { echo $config[$_GET['id']]['caption']; } }
- yambejp
- ベストアンサー率51% (3827/7415)
<a href="hoge.php?id=xxx"><img src="xxx.jpg"></a> 的な処理をすればよいのでは? データはSQLなりCSVなりで保持してください
お礼
回答ありがとうございます。 勉強中させて頂きます。
お礼
入力する場所がないのでお礼欄に入力することをお許しください。 <a href="$mode = (isset($_GET['mode'])) ? $_GET['mode'] : '';"><img src="001.png"></a> で良いでしょうか。よろしくお願いします。
補足
こんなに丁寧な参考ソースまで本当にありがとうございます。 配列(array)に画像と説明をセットし、クリックしたとき配列のNo.を変数($mode)セットし出力するという処理でよいでしょうか。 本当に嬉しいです、早速組み込みたいと思います。 そこで恥を忍んでお尋ねしますが画像(001.png)をクリックしたとき動作モードの処理が行われるには<a href= をどのように記述したらよいでしょうか。 申し訳ありませんがよろしくお願いします。