• ベストアンサー

「a href ~」でデータを送信したいのですが...

下のようなページを表示します。 表示データはデータベース(MySQL)を参照します。 番号(10001,10002,10003・・・)のところに、<a href='編集ページ.php'>のリンクを貼り、 編集画面に移行したいのですが、そのとき番号もデータとして送信したいのですがどうすればよいのでしょうか? 番号 データ 登録日 --------------------------- 10001 文書1 2004-01-01 10002 文書2 2004-02-02 10003 文書3 2004-03-03 ・・・ 自分で考えられるのは「a href~」でしたが、他にも簡単な方法があればそれでもかまわないです。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • tabikin
  • ベストアンサー率62% (5/8)
回答No.3

送信ページにて以下のようにリンクを貼り、 <a href ='編集ページ.php?number=10001'>10001</a>文書1 2004-01-01 <BR> <a href ='編集ページ.php?number=10002'>10002</a>文書1 2004-02-02 <BR> <a href ='編集ページ.php?number=10003'>10003</a>文書1 2004-03-03 <BR> 編集ページ.php側で、$_GET['number']を取得すればOKじゃないでしょうか? echo $_GET['number']

wipe
質問者

お礼

回答ありがとうございました。 回答の通り試してみましたのですが、 編集ページ.php側で$_GET['number']の値が取得できませんでした。 同じように$_POST['number']でも試してみましたがだめでした。 $_GETや$_POSTの関数は通常に使えているのでPHPのバージョンやセキュリティ設定などの問題ではないと思うのですが、 理由がわかりますか? よろしくお願いします。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (5)

  • cororo
  • ベストアンサー率22% (2/9)
回答No.6

何度もすみません。 返答をちゃんと読んでいませんでした。 session_start(); $_SESSION['bango']=array('10001','10002'); とデータのページに書いて 編集のページで session_start(); for($i=0;$i<sizeof($_SESSION['bango']);$i++){ echo "<a herf=編集ページ.php?no=$i>"; echo $_SESSION['bango'][$i]."</a>\n<br>"; } と書けば多分できると思います。

wipe
質問者

お礼

回答ありがとうございます。 確認できました。 sessionの使い方が良く分からないのですが、 1つ勉強になりました。

全文を見る
すると、全ての回答が全文表示されます。
  • cororo
  • ベストアンサー率22% (2/9)
回答No.5

すみません。編集のページのほうを書くの忘れてました。 session_start(); echo $_SESSION['bango'][$no];

全文を見る
すると、全ての回答が全文表示されます。
  • tabikin
  • ベストアンサー率62% (5/8)
回答No.4

echo $_GET['number']; ↑文末のセミコロン「;」は抜けていないですか? あと、「編集ページ.php」までのパスとか。 私の環境では確認出来ましたのですが。 PHP4.3.8です。

wipe
質問者

お礼

回答ありがとうございます。 確認できました。PHPは4.3.2を使っております。 echoではなくprint文を使用していたのですが、""と''を間違っていました。 1つ勉強になりました。

全文を見る
すると、全ての回答が全文表示されます。
  • cororo
  • ベストアンサー率22% (2/9)
回答No.2

はじめまして。 僕も初心者なのだけど、 session_start(); $_SESSION['bango']=array('10001',10002'); for($i=0;$i<sizeof($_SESSION['bango']);$i++){ echo "<a herf=編集ページ.php?no=$i>"; echo $_SESSION['bango'][$i]."</a>\n<br>"; } としたらどうでしょうか。

wipe
質問者

お礼

回答ありがとうございます。 上のソースをデータ表示のページに書き、 echo $_SESSION['bango'][$i]."</a>\n<br>";のところだけ別ページ(編集ページ)で参照したいのですが、 できるでしょうか? よろしくお願いします

全文を見る
すると、全ての回答が全文表示されます。
  • bonyamk
  • ベストアンサー率29% (49/166)
回答No.1

<form>を使って番号をボタンにするという方法もありますけど・・・普通のリンクのほうが簡単そうですね^^;

wipe
質問者

お礼

回答ありがとうございます。 確かに<form>を使って出来そうですね。 今はwhile文を使ってリストを表示させているので、リンクの方が簡単だと思って... 出来なかったら<form>でやってみます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • <a href=

    http://personal.okwave.jp/qa2903587.html こういう質問をしたものです。ここのNo.6様のお礼にも書いていますが、 <a href="/">HOMEへ</a> というリンクではトップページには移動しますが、絶対アドレスのリンク以外では 最新に更新されたトップページには移動しないみたいです。 このことってアクセス解析に影響するのではないでしょうか? サイト内のページ移動を絶対アドレスでやらず、 <a href="/">HOME</a> <a href="/link.html">リンク集</a> <a href="/sitemap.html">サイトマップ</a> ・・・・・・・・・・・ としてやると、アクセス解析のページビューはカウントされないのではないでしょうか?

  • PHPとSQLによるaタグ(リンク)の貼り付け方

    PHP・SQL初心者です。 MySQLとPHPでサイトを構築しています。 データベースへの接続・テーブル内容の表示等はできるのですが、リンクをどのようにすれば貼り付けることができるのかわからなかったため質問させていただきました。 ID 名前 友達1 友達2 ・・・ 1 田中 佐藤 前田 2 山田 XXX XXX 3 佐藤 XXX XXX 4 前田 XXX XXX ・ ・ このようなデータベースを用意し、 名前が「田中」さん(ID が 1)のページに ------------------------------------------- 田中さんの友達 友達1:佐藤 友達2:前田 ------------------------------------------- このように表示し、 「佐藤」「前田」の箇所にデータベースの「ID」を利用してリンクを貼り付けたいと考えております。 データの抽出・画面への表示は、 $quryset = mysql_query("SELECT ID,名前,友達1,友達2 FROM テーブル名 WHERE ID= '1' "); while ($data = mysql_fetch_array($quryset)){} このような関数で行っております。 表示は問題なくできているのですが、 表示の「佐藤」「前田」の箇所にリンクを設定するの方法がわかりません。 「ID」 = 1 の情報を表示しているため「山田」と表示している箇所に <a href="http://XXXX.com/$data[ID].php">山田</a> と設定してリンクをつけることはできます。 友達の欄の「佐藤」「前田」の箇所にリンクをつけることができません。 データベースの「ID」欄、を利用して ------------------------------------------- 田中さんの友達 友達1:<a href="http://XXXX.com/ID名.php">佐藤</a>    ID名=佐藤さんのID欄にある2 友達2:<a href="http://XXXX.com/ID名.php">前田</a>    ID名=前田さんのID欄にある4 ------------------------------------------- ↓↓↓ IDが抽出されて ------------------------------------------- 田中さんの友達 友達1:<a href="http://XXXX.com/2.php">佐藤</a> 友達2:<a href="http://XXXX.com/4.php">前田</a> ------------------------------------------- このような形で表示できれば理想なのですが、 使用する関数やSQLの構文がわかりません。 初心者のため、考え方が根本的に間違っているのかもしません。 お詳しい方、まったく別の方法でも構いませんので解決する方法をご教授頂ければ幸いです。

    • ベストアンサー
    • PHP
  • ボタンを使用せずにpostでデータを送信する。

    お世話になります。 PHP5.0+Mysql5.0を使用してサイトを構築しています。 表示されているのがa.phpでその中のURLをクリックしてb.phpにデータを表示しようとしています。 そのときに、データをPOSTで送信したいのですが、 デザイン的な問題でボタンを使用せずに、リンクをクリックすることでPOSTデータを送信したいと考えています。 過去の質問を参考にしながらここまでは完成できました。 <form name="form1" action="b.php" method="post"> <input type="hidden" name="select" value=""> </form> <a href="" onclick="document.form1.select.value='datadata';document.form1.submit();return false;"> data</a> ただ、ここで問題が・・・ そのb.phpを新しいウインドウで大きさを使用して開きたいのです。 <a href="" onclick="window.open('b.php','','width=400,height=400'); return false;" > 「data1」を送信します</a> こうすれば出来るのはわかったのですが、上記2つを 同時に実行する方法がわかりません。 また、これはこうした方がいいというアドバイスも大変助かります。 よろしくご回答お願いします。

  • <a href=…>がうまくいかない

    gooの簡単HPにサイトを持っています。 ここの日記のページを書く際に、 ・・・・・(文章)・・・・・<a href=http://(URL1)>単語1</a><a herf=http://(URL2)>単語2</a><a href=http://(URL3)>単語3</a>・・・・・(文章)・・・・・ という風に、単語3つに連続して文中リンクを張りました。単語1,3は問題なくちゃんとリンクが張られるのですが、単語2のところだけリンクされず残ってしまいます。どうすればいいのでしょうか。

    • ベストアンサー
    • HTML
  • a href= の使い方について

    本を見ながらプログラムを進めています。 本の通りに行くと、 <p><a href="join/">トップへ</a></p> 上記でindex.phpにアクセスできるはずなんですが、クリックするとObject not found!になります。 index.phpと現在のページはjoinというフォルダに入っています。 これはなぜなのでしょうか?? a href の使い方についてもいまいちわかっていないので、そちらについても説明いただけるとありがたいです。OTL

    • ベストアンサー
    • HTML
  • MySQLでデータ表示

    MySQLでデータの表示を行っています 10件ずつ表示し、11件からは2ページ目に表示したいです サイトや本を見ながらデータ表示と次の10件のリンクは表示されるよう自力で頑張ったのですが 次の10件を押してもデータが変わらず1件目から10件目のままです どこが違うか教えてもらえますか。 どうコードを入力するか教えてくれたらありがたいです 一覧 ta2.phpです <html> <body> <form action = "ta2.php" method="GET"> <input type="hidden" name="page" value="0"> </form> <?php //データベースに接続 if (!$con = mysql_connect("localhost", "root", "admin")) { echo "接続エラー" ; exit ; } //データベースを選択 if (!mysql_select_db("db_test", $con)) { echo "データベース選択エラー" ; exit ; } //LIMITを使ったSELECT文を作成 $sql = "select * from tbl_test" ; $sql.= " limit " . $page*10 . ", 10" ; //SQL実行 if (!$res = mysql_query($sql)) { echo "SQLエラー<BR>" ; exit ; } //検索結果表示 echo "<table border='1'> <tr> <th>番号</th> <th>氏名</th> <th>住所</th> <th>操作</th> </tr>"; while($row = mysql_fetch_array($res)) { $ID = htmlspecialchars($row['番号']); $NAME = htmlspecialchars($row['氏名']); $ADDR = htmlspecialchars($row['住所']); echo "<tr> <td>$ID</td> <td>$NAME</td> <td>$ADDR</td> <td><a href='edit.php?番号=$ID'>修正</a> <a href='delete.php?番号=$ID'>削除</a></td></tr>"; header('content-type: text/html; charset="utf-8"'); if ($_GET) { // データがGETされていたら $page = isset($_GET['page']) ? $_GET['page'] : ''; // 取得 } } $sql = "select count(*) from tbl_test " ; if (!$res = mysql_query($sql)) { echo "SQLエラー<BR>" ; exit ; } $row = mysql_fetch_array($res) ; $cnt = $row[0] ; //ページ表示 if(!$cnt > 10) echo ceil($cnt / 10), "ページの中の", $page + 1, "ページ目を表示<br>" ; //前の10件 if ($page != 0) { echo "<a href = ta2.php?page= $page>" ; echo "&lt 前の10件" ; } //次の10件 if (($page + 1)*10 < $cnt) { echo "<a href = ta2.php?page= $page>" ; echo " 次の10件 " ; } //結果セットの開放 mysql_free_result ($res) ; //データベースから切断 mysql_close($con) ; ?> </table> </body> </html>

    • ベストアンサー
    • MySQL
  • <A HREF=""></A>でリンクしません

    いくつかあるページのうち一つのページだけ <A HREF="xxx.html">xxxx</A>のリンクが、マウスで押しても 何も反応しません。どのリンクもダメです。 ソースをチェックに掛けてみたのですが特に問題もないようです。 このような場合どのようなことが考えられますでしょうか。 アドバイスお願いいたします。

  • データベース データ表示方法

    ご教授いただきたくご投稿させていただきました。 現在phpにてページを作成しているのですが、初心者でわからないためご教授お願いします。 データベースに登録されているメンバー一覧表を作成しています。 コード以下です。 $uid = mysql_real_escape_string($_SESSION['uid'], $link); $query = sprintf("SELECT * FROM member WHERE id='%s' ",$uid); $query_list = sprintf("SELECT * FROM member WHERE 1 ORDER BY first_kana,last_kana"); $result = mysql_query($query, $link); $result_list = mysql_query($query_list, $link); $list = ''; while ($row = mysql_fetch_array($result_list)) { $list .= "<li><a href='".$row["id"].".php'>" . $row['first_name'] ." ". $row['last_name'] . "</a></li>\n"; } if ($result) { $row = mysql_fetch_array($result); if ($row) { $name = $row['first_name']." ".$row['last_name']; } } <html> <body> <?php print $name; ?>さんこんにちは <ul> <?php $list; ?> </ul> というコードをしています。 ここで、 <ul> <li><a href="">山田 一郎</a></li> <li><a href="">佐藤 二郎</a></li> <li><a href="">田中 三郎</a></li> </ul> と表示されるのですが、各名前のリンクをクリックしたときにクリックされた人のページを表示するにはどうしたらよろしいのでしょうか? 例 田中 三郎さんでログインしたときに 山田 一郎をクリックする そうすると別ページで山田 一郎さんの情報(データベースに登録されている)がページに表示される。 佐藤 二郎をクリックする こちらも同様に別ページで佐藤 二郎さんの情報(データベースに登録されている)がページに表示される。 今までは各一人ずつページを作成していたのですが、手間がかかるため一枚のページにクリックされた人の名前の情報を表示できるようにしたいと思っております。 お分かりになる方はご教授下さい。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • locatin.hrefのリンク付き画像とPHP

    現在、MySQLとPHPを組み合わせたシステムを作っています。 MySQLのi5_volumeというカラムの中の数値が「1より大きい」ときにボタンを表示させ、0以下であれば表示させないようにしたいと考えています。 ボタンは画像でありlocation.hrefで別のページにリンクされています。 (OAuthで認証エラーを避けるため <a href></a> はNG) 画像からのリンクは下記のソースになります。 【画像のソース(locatin.hrefのリンク付き)】 <img src="./abc.png" onclick="location.href='sell.php?e2_id=<?php echo $price['e2_id']; ?>&time=<?php $time = date('G'); echo $time; ?>';" /> 「i5_volumeが1より大きければ画像を表示させ、0以下であれば表示させない」ためのPHPは下記です。 【規定値で画像が表示されるPHP(画像は直リンク)】 <?php IF ($my_volume['i5_volume'] >= 1) {echo "<IMG src=\"./abc.png\" >";} ELSE {echo "";} ?> 従い、 【規定値で画像が表示されるPHP(画像は直リンク)】 の画像のソース部分を 【画像のソース(locatin.hrefのリンク付き)】 に置き換えれば基本的にはいいはずなのですが、下記ではうまくいきません。エラーになり何も表示されません。 どこが悪いかご指摘頂けませんでしょうか? <?php <?php IF ($my_volume['i5_volume'] >= 1) {echo " <img src=\"./abc.png\" onclick="location.href='sell.php?e2_id=$_price['e2_id'];&time= $time = date('G'); echo $time;'" /> ";} ELSE {echo "";} ?>

    • ベストアンサー
    • PHP
  • MySQLからPHPでデータを抽出し、重複データをまとめつつ、別のカラ

    MySQLからPHPでデータを抽出し、重複データをまとめつつ、別のカラムを件数カウント表示し、さらに別のページへリンクしてデータを移動・表示したいです。 いつも利用させていただており、参考にさせていただいております。 さて、40の手習いということで、今更ながらPHPとMySQLを使ってwebページの構築なぞ始めて1週間になります。 そこで、かなり手詰まってしまって、思い切って質問をさせていただきました。 まずは、私の開発環境ですが ・PHP Version 5.2.11 ・MySQL (5.0) そこでやりたいことです。 TABLE `clinic` ID,name,erea,chiiki,genre,tel 1,A店,新宿区,歌舞伎町,歯科医院,03-1234-5678 2,B店,新宿区,歌舞伎町,内科,03-1111-2222 3,C店,新宿区,歌舞伎町,内科,03-3333-4444 4,D店,新宿区,大久保,歯科医院,03-5555-6666 5,E店,新宿区,落合,歯科医院,03-7777-8888 5,F店,港区,赤坂,歯科医院,03-9876-5432 ・ ・ ・ 上記のようなデータがDBに格納されており index.htmlより ■<a href="index.php?val=shin">新宿区</a> 歌舞伎町/大久保/落合 ■<a href="index.php?val=minato">港区</a> 六本木/新橋/赤坂/西麻布/その他 このようなリンクから新宿区をクリックすると index.phpにて <新宿区の診療内容別一覧> ---------------------------- ■歌舞伎町 └<a href="index.php?val=???">内科</a>(2)//この数字は件数です └歯科医院(1) ■大久保 └歯科医院(1) ■落合 └歯科医院(1) のように表示し、さらに例えば内科をクリックすると result.phpにて B店 └03-1111-2222 C店 └03-3333-4444 と表示したいのです。 index.phpで、 $url = "localhost"; $user = "clinic"; $pass = "admin"; $db = "clinic"; // MySQLへ接続する $link = mysql_connect($url,$user,$pass) or die("MySQLへの接続に失敗しました。"); // データベースを選択する $sdb = mysql_select_db($db,$link) or die("データベースの選択に失敗しました。"); if($_GET['val'] == 'shin'){$erea = "新宿区";} if($_GET['val'] == 'minato'){$erea = "港区";} if($erea !== '') { $erea_sql = 'EREA LIKE '."'%".$erea."%'"; } else { $tempHtml = "エリア選択が不正です"; } $sql = " SELECT * FROM `clinic` WHERE {$erea_sql} "; $result = mysql_query( $sql ); //結果セットの行数を取得する $rows = mysql_num_rows($result); //表示するデータを作成 if($rows){ while($row = mysql_fetch_array($result)) { ここが全く想像すらつきません・・・(汗) } }else{ $tempHtml = "データがありません"; } //結果保持用メモリを開放する mysql_free_result($result); // MySQLへの接続を閉じる mysql_close($link) or die("MySQL切断に失敗しました。"); データの総数は、東京都内のみで1000件程度あります。 ここから先へ進むには、どこを勉強すれば良いのかすら浮かばず 非常に困っております。 ヒントでも、このページを見ろ!でも結構ですので、 何卒ご教授のほど、よろしくお願い致します。

    • ベストアンサー
    • PHP
MFC-L27500WのFAX宛名入力操作
このQ&Aのポイント
  • MFC-L27500WのFAX宛名入力操作をパソコンから転送できないか?
  • お困りの方への解決策として、お使いのひかり回線の種類を教えていただければと思います。
  • ブラザー製品のFAX宛名入力操作に関するトラブルやエラーが発生している場合、お使いのパソコンとの接続や設定を確認することをおすすめします。
回答を見る