お世話になります。
ODBC経由でレコードを取得して表示させた後、それぞれのレコードの
後に4つのリンクを張って、押されたリンクによって状態を変更
したいです。
表はこんな感じです。
ID 氏名 状態 リンク1 リンク2 リンク3 リンク4
1 山田 1 1に状態変更 2に状態変更 3に状態変更 4に状態変更
2 山下 3 1に状態変更 2に状態変更 3に状態変更 4に状態変更
3 山本 2 1に状態変更 2に状態変更 3に状態変更 4に状態変更
以下300件くらい
ODBCに接続は成功します。
$res = $db-> query($sql);
while ($row =& $res->fetchRow(db_fechtmode_assoc)) {
print("<tr>");
print("<td>".$row["No"]."</td>");
print("<td>".$row["氏名"]."</td>");
print("<td>".$row["状態"]."</td>");
//この下が問題の行
print("<td><a href= \"hoge.php?ID=".$row["ID"]."\">1に状態変更</a></td>");
//あとリンクを状態変更4まで3つ並べます
print("</tr>\n");
テーブル形式に吐かせます。問題の行で、IDと a=1 を持って
いきたいのですが、記述の仕方が分かりません。このままでは
IDは持って行ってくれます。
//explode関数は「,」で区切り順番に配列に格納する
//$_SERVER['QUERY_STRING']はURLの?の後に付けられた
//文字列(引数)を取得できます。
という記事も見たのですが、コンマでつなげてもa=1は持って行って
くれません。
別にリンクじゃなくてもいいのです。ボタンや画像でもいいの
ですが、このWhileテーブルでボタンを4つ並べる書き方も、
ボタンを押したら値を取得する書き方も分かりませんでした。
勢いでPEARを使っています。PHP5.2.6です。よろしくお願いします。
No.2ベストアンサー
- 回答日時:
補足の内容、了解です。
変数で渡そうとしている内容がサーバ側での設定を想定していたので
IDと同じような感じにしていました。
また、IDが大文字となっていたのでaの方もあわせて大文字としていましたが、
その点の説明が抜けていたようです。すみません。
では補足いただいた内容に合わせて渡したいaを設定してみましょう。
aが1固定の場合だと下のようになります。
print("<td><a href= \"hoge.php?ID=".$row["ID"]."&A=1\">1に状態変更</a></td>");
これでサーバ側でのIDでのとり方と同じようにしてAでやれば1が取れるようになります。
PHPの5.2.6でも通用するかは設定によりますが
$_REQUEST[ID] でIDの値が、$_REQUEST[A] でAの値がとれていたら正解です。
$_GET[ID] だったり、$ID だったりするかもなので調査要です。
では、ついでのついでに値が固定、中身も似ているなら for ループを追加して、
もう一歩先の応用ができそうないじくりをいれてみましょう。
余談なので上の状態のでおしまいにしてももちろんOK。
//リンクを状態変更1から4まで4つ並べます。
for( $lpcnt00 = 1; $lpcnt00 <= 4; $lpcnt00 ++)
{
print("<td><a href= \"hoge.php?ID=".$row["ID"]."&A=".$lpcnt00."\">".$lpcnt00."に状態変更</a></td>");
}
クォーテーションの¥マーク有り無しやドットのつけ方は慣れても分かりにくく、
その慣れ方もどうするのが良いのか分かり難いものです。
自分なりの解読法を構築するしかないのかもしれませんね。
作り始めの段階なら
1.HTMLをベタで書いて。
2.クォーテーションを¥マーク付きに置換して。
3.PHPの文に変換して。
とやれば良さそうですが、いったん出来上がったものを編集するとなると
このクォーテーションがHTML側のものなのかPHP側のものなのかがパッと見判らない。
その辺りをサポートしてくれるエディタもあるようですが、
慣れないことにはそのエディタの表示もなんじゃらほい。
でも大丈夫。必要な情報ならきっと、情報の側からもアプローチがありますよ。
hisappyさん、根気よく付き合ってくださってありがとう
ございました。¥に振り回されていたのですが、ひとつ
多かったり、クォーテーションを取ったり、全部に¥つけたりと
色々したのですが、ニアミスで行き詰っていました。
PHPがうまく受け取ってくれました!
しかも残りのリンクのForまで・・・これはまた後日ためして
勉強させていただきます。
ありがとうございました。また今後ともよろしくお願いいたします。
No.1
- 回答日時:
単純に値を持っていければ良いというのであれば、
質問文の内容を中途半端に引用して編集してみると
//この下が問題の行
print("<td><a href= \"hoge.php?ID=".$row["ID"]."&A=".$a."\">1に状態変更</a></td>");
//あとリンクを状態変更4まで3つ並べます
print("</tr>\n");
のように、IDの後ろに持っていかせたいパラメータを&で引っ付ければ
FORM タグの method で GET を指定した場合の形式で渡ると思います。
(ちなみにボタンの submit で飛ばすのが POST の形式。)
その POST の形式版だとこんな感じ。
//この下が問題の行
print("<td>");
printf("<form name=\"\" method=\"post\" action=\"hoge.php\">");
printf("<input type=\"hidden\" name=\"ID\" value=\"".$row["ID"]."\">");
printf("<input type=\"hidden\" name=\"a\" value=\"".$a."\">");
printf("<input type=\"submit\" value=\"1に状態変更\">");
printf("</form>");
printf("</td>");
//あとリンクを状態変更4まで3つ並べます
print("</tr>\n");
JavaScript を使っても良くて、画像でボタンを表示させたいなら
上で submit となっている input タグの部分を
printf("<img src=\"hoge1.jpg\" onClick=\"hoge.php?ID=".$row["ID"]."&A=".$a."\">");
みたいにすればできるのではないでしょうか。
ただ、動作確認したわけでもないですし、タグの内容などもうろおぼえなので
このままでは動作しない可能性大だったりもしますが
調査するのに必要な要素はひとまずいれたつもりですので
今回はこの辺りにて失礼します。
この回答への補足
hisappyさんありがとうございます。
?ID=".$row["ID"]."&A=".$a."\"
まさにこの部分の書き方なんですが、本当に記述の仕方だけ分からないんだと思います。初心者ですみません。
ブラウザの下にA= が現れるようになったので持って行ってくれる気があるみたいですが、$aが0なので、$aにどこかで1を入れておかないといけないのでしょうか? ここは1と決まっているので、
?ID=".$row["ID"]."&A="1"\"
としても上手くいかないのです(T_T)
どうクォーテーションしたものやら、どうドットつけたらいいやら。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jQueryで同じクラス名のものを別物として扱いたい 1 2022/06/17 14:14
- 物理学 統計力学における平衡状態の定義について 4 2022/12/27 01:47
- HTML・CSS 【CSS】:hasで可能? imgを含むtr要素を選択したい 1 2022/11/17 14:36
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- Word(ワード) ワードの変更履歴のオンオフ判別方法 1 2023/05/25 15:07
- docomo(ドコモ) 契約者固有IDと個体識別番号の違い 1 2022/12/15 00:15
- Windows 10 ビデオカードが変更されたPCの復元 1 2022/11/29 02:01
- ラグビー・アメリカンフットボール ラグビーってスクラムの方法、変わりましたか? 4 2022/07/09 20:26
- PHP PHP MySql ページング 2 2022/09/20 06:38
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
<A href ~ と一緒に値を渡すには
PHP
-
リンクでPOSTデータを送信することは可能ですか?
HTML・CSS
-
JSPからJSPへ情報を渡せる?
Java
-
-
4
別PHPファイルに変数を渡す
PHP
-
5
一つのリンクに複数のURLを指定
HTML・CSS
-
6
リクエストに応じたselectedの初期値設定方法
Java
-
7
HTMLの値の渡し方について質問です。 HTMLで値を今の画面から次の画面に渡すにはどういう文を使う
HTML・CSS
-
8
JSPの処理の途中で、JavaScriptの処理をしたい
JavaScript
-
9
JSPでリンクを利用してパラメータを次画面に渡す方法について。
Java
-
10
<input type=hidden" >で配列(複数の要素)を渡したいとき?"
PHP
-
11
データ数をカウントしたいのですが
Java
-
12
count(*)で取得した値をJAVAの変数に代入するには?
Java
-
13
JSPのNULLレコード表示について教えて下さい。
Java
-
14
別ファイルの変数を呼び出したいのですが?
PHP
-
15
ServletからServletへの値渡し
Java
-
16
ボタンをセル内一杯に表示させる方法はありませんか?
HTML・CSS
-
17
Java-jspの画面入力値保持について
Java
-
18
「value」に2つの値をセットする方法
HTML・CSS
-
19
PHPの正規表現で住所を分けるには?
PHP
-
20
URLのパラメータをGETのままで非表示にしたい
PHP
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
foreachで無限ループ?
-
Dosブロンプトでtabを出力したい
-
バッチファイルでpingの結果を...
-
ログイン画面から入って、「戻...
-
ミュージックのアートワークを...
-
Excel VBA:特定の文字列以降(...
-
VBS「開いているページ」のURL...
-
IEを使わないでhtmlテキストを...
-
OpenFileDialogの自作
-
Google scholarがひらけなくな...
-
MySQLのdate型をphpで○年○月○日...
-
The session id contains inval...
-
PHPを使って、別サイトの一部を...
-
ps3で久しぶりにCDの音楽情報取...
-
Yahoo! JAPAN IDを新規取得でき...
-
switch()文で値の大小比較
-
動的なPHPを静的なhtmlページに...
-
不正競争防止法に該当するので...
-
PHP一覧表示した項目にリンクを...
-
ファイル名に日付の挿入
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
日付を基にした乱数生成
-
<A href ~で複数の値を渡したい
-
テーブルに送信ボタンをつける
-
「次の10件を表示する」のよ...
-
if文の複数条件。
-
POSTされたかどうか確かめる方...
-
whileループの中でフォーム入力...
-
PHPにて自動計算した値をデータ...
-
PHPでのNULLの正規表現
-
if (isset($_a)&&$_a)この意味は
-
なぜエラーが出るのか分からな...
-
PHPのif文「POSTしていな...
-
$_SERVER["QUERY_STRING"]の仕...
-
Google chart API 、PHP、MySQL...
-
ヒアドキュメントでstaticメン...
-
日付・時刻を比較する方法について
-
逆順表示したい?
-
CakePHP リッチテキストエディ...
-
continueやbreakの後の数字につ...
-
microtime関数は、結構イイカゲ...
おすすめ情報