
No.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. …
> <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+%E …
No.2
- 回答日時:
イメージとしてはこんな感じでしょうか?
すぐ動きを確認できるように $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'];
}
}
この回答への補足
こんなに丁寧な参考ソースまで本当にありがとうございます。
配列(array)に画像と説明をセットし、クリックしたとき配列のNo.を変数($mode)セットし出力するという処理でよいでしょうか。
本当に嬉しいです、早速組み込みたいと思います。
そこで恥を忍んでお尋ねしますが画像(001.png)をクリックしたとき動作モードの処理が行われるには<a href= をどのように記述したらよいでしょうか。
申し訳ありませんがよろしくお願いします。
入力する場所がないのでお礼欄に入力することをお許しください。
<a href="$mode = (isset($_GET['mode'])) ? $_GET['mode'] : '';"><img src="001.png"></a>
で良いでしょうか。よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CSV出力にHTMLが入ってしまう
-
PHPにおける時間計算、時間足し...
-
phpのheader("Location:#pos")...
-
PHPのif文でその処理を途中で抜...
-
Apache 2.4でphp-5.3を使いたい...
-
phpの中でphpを書けないか
-
require_once()でファイルが読...
-
header(Location:~)で$_SESS...
-
さくらインターネットでメール...
-
フォームで戻った際に入力済み...
-
PHPでメールを受信するには?
-
php4とphp5での数値の取り扱い...
-
PEAR(Image_QRCode)のエラー
-
テレメールとは?
-
再度、xamppにおけるjpgraphの...
-
<A href ~ と一緒に値を渡すには
-
PHP版のPDFlibのインストール
-
【PHP】tmp_nameの命名規約につ...
-
PHPからMSSQLへの接続結果の文...
-
phpのextension_dirを複数指定...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ob_end_clean と ob_clean の違...
-
CSV出力にHTMLが入ってしまう
-
GDで生成したはずの画像が文字...
-
Wordpress、カスタム投稿の管理...
-
mPDFでのPDF出力がうまくいかな...
-
phpにcssを適応させたい...
-
PHPで`headers already sent`と...
-
PHP/phpMyAdmin/データベースな...
-
TCPDFについて
-
PHPで取得したHTML内のdiv要素...
-
リダイレクト元のURLの取得方法...
-
ImageStringで日本語表示させたい
-
PHPにおける時間計算、時間足し...
-
PHPで五角形、または多角形のグ...
-
JavaScriptからPHP呼び出しHTML...
-
warningを画面に表示させない設...
-
CGIからPHPへの書き換え
-
FeedPHPでfeedをHTML表示を11個...
-
【smarty】<A href="">内でのみ...
-
PHPをSJISでやるのは不可能
おすすめ情報