phpでホームページを作成中です。
MAMPで試作してます。SELECT文でテーブル一覧表示をしてるんですが、そこにリンクも一緒に表示させて、リンク先に飛ばせるようにしたいのですが、リンク先のマップアドレスの貼り付けが一覧で表示させるのが出来なくて困ってます。どなたかご教授お願いします。
---------------------------------------------------------------------------
概要:
例として、
テーブル名はmember、店舗id(主キー&A.I)、nameは店舗名、gmapは店舗のマップアドレスとさせていただきました。
create table member(
id int,
name varchar(255),
gmap varchar(255)
);
insert into member(
name,
gmap
) values(
'田中店',
'http://goo.gl/maps/××××'
);
---------------------------------------------------------------------------
以下のコードは店舗登録htmlフォームからPOSTで渡されてきてデータベースに追加してテーブルタグで一覧表示させるコードです。
<?php
省略
.
.
.
?>
<!DOCTYPE html>
<html lang="ja">
<head>
省略
.
.
</head>
<body>
<div>
<?php
$name = $_POST["name"];
$gmap = $_POST["gmap"];
//MySQLデータベースに接続する
try {
$pdo = new PDO($dsn, $user, $password);
// プリペアドステートメントのエミュレーションを無効にする
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
// 例外がスローされる設定にする
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// SQL文を作る
$sql = "INSERT INTO member (name, gmap) VALUES (:name, :gmap)";
// プリペアドステートメントを作る
$stm = $pdo->prepare($sql);
// プレースホルダに値をバインドする
$stm->bindValue(':name', $name, PDO::PARAM_STR);
$stm->bindValue(':gmap', $gmap, PDO::PARAM_STR);
// SQL文を実行する
if ($stm->execute()){
// レコード追加後のレコードリストを取得する
$sql = "SELECT * FROM member";
// プリペアドステートメントを作る
$stm = $pdo->prepare($sql);
// SQL文を実行する
$stm->execute();
// 結果の取得(連想配列で受け取る)
$result = $stm->fetchAll(PDO::FETCH_ASSOC);
// テーブルのタイトル行
echo "<table>";
echo "<thead><tr>";
echo "<th>", "ID", "</th>";
echo "<th>", "名前", "</th>";
echo "<th>", "地図", "</th>";
echo "</tr></thead>";
// 値を取り出して行に表示する
echo "<tbody>";
foreach ($result as $row) {
// 1行ずつテーブルに入れる
echo "<tr>";
echo "<td>", $row['id'], "</td>";
echo "<td>", $row['name'], "</td>";
echo "<td>", $row['gmap'], "</td>";
echo "</tr>";
}
echo "</tbody>";
echo "</table>";
} else {
echo '<span class="error">追加エラーがありました。</span><br>';
};
} catch (Exception $e) {
echo '<span class="error">エラーがありました。</span><br>';
echo $e->getMessage();
}
?>
<hr>
<p><a href="<?php echo $×××× ?>">戻る</a></p>
</div>
</body>
</html>
---------------------------------------------------------------------------
上記のコードではid、店舗名、マップアドレスをテーブルで一覧表示させることは出来たのですが、
<table>タグの
echo "<td>", $row['gmap'], "</td>";
をリンクしたいのですが、うまくリンクさせることが出来ません。
<td><a herf="$row['gmap']">Google地図を見る</a></td>
と書いてもうまくいきません。
どうか、詳しく教えていただける方よろしくお願いします。
No.1ベストアンサー
- 回答日時:
><td><a herf="$row['gmap']">Google地図を見る</a></td>
typoですね、このままじゃリンクにはなりません、herf→href
でechoするならこう
echo "<td><a href=\"{$row['gmap']}\">Google地図を見る</a></td>";
ちなみに
$name = $_POST["name"];
$gmap = $_POST["gmap"];
としていますが存在確認が抜けるとnoticeがでるのでissetやfilter_inputで調整し、
空データをあたえてもそのままINSERTされるのがいやなら例外処理をいれてください
yambejpさん、回答ありがとうございます。
hrefのスペル間違い失礼いたしました。
早速、試させていただきました。
{}と\\をつけて実行したらキチンと表示されました。
また、外部リンク(新規タブ)の場合も考えて、target=\"_blank\" でも外部リンクで飛ばすことができました。
検索フォームにも応用させていただきます。
大変、勉強になりました。また、ご教授お願いします。
yambejpさん、どうもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP 重複を防ぐ記述について教えて下さい。 3 2023/04/03 14:35
- PHP DBのハッシュ化したパスワードをpassword_verifyで戻し照合したのですが上手く行きません 2 2023/02/06 13:24
- PHP PHP MySql ページング 2 2022/09/20 06:38
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- PHP PHP一覧表示した項目にリンクをはりたい 1 2023/07/12 17:08
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- Perl RSSにdiv,ul classを付けたいのですがどのようにつけるのかわからないです 2 2022/03/28 01:53
このQ&Aを見た人はこんなQ&Aも見ています
-
それもChatGPT!?と驚いた使用方法を教えてください
仕事やプライベートでも利用が浸透してきたChatGPTですが、こんなときに使うの!!?とびっくりしたり、これは画期的な有効活用だ!とうなった事例があれば教えてください!
-
ちょっと先の未来クイズ第6問
2025年1月2日と1月3日に行われる、第101回箱根駅伝(東京箱根間往復大学駅伝競走)で、上位3位に入賞するチームはどこでしょう?
-
【お題】逆襲の桃太郎
【大喜利】桃太郎が1回鬼退治に失敗したところから始まる新作昔話「リベンジオブ桃太郎」にはこんなシーンがある
-
【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
「出身中学と出身高校が混ざったような校舎にいる夢を見る」「まぶたがピクピクしてるので鏡で確認しようとしたらピクピクが止まってしまう」など、 これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
-
【選手権お題その2】この漫画の2コマ目を考えてください
サッカーのワンシーンを切り取った1コマ目。果たして2コマ目にはどんな展開になるのか教えてください。
-
PHP一覧表示した項目にリンクをはりたい
PHP
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Dosブロンプトでtabを出力したい
-
eとは?
-
バッチファイルでpingの結果を...
-
ナベアツプログラム(3の倍数...
-
RSSにdiv,ul classを付けたいの...
-
php mysql SELECT文でテーブル...
-
checkboxでの複数選択削除がわ...
-
Windowsのsetコマンドでの小数...
-
PHP form action 次のページ...
-
Yahoo! JAPAN IDを新規取得でき...
-
ps3で久しぶりにCDの音楽情報取...
-
開始と終了を指定して、その間...
-
ミュージックのアートワークを...
-
C# ASP.NET でIPアドレスからア...
-
CListCtrlのcheckboxサイズ変更
-
wordの差し込み印刷で文字...
-
現在時刻をyyyymmddhhmmss形式...
-
Macアドレスの取得方法
-
【C#】DataGridViewの最大列数...
-
C言語で地図を描きたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Dosブロンプトでtabを出力したい
-
バッチファイルでpingの結果を...
-
shシェルスクリプト 空白行の...
-
phpでcookieがうまく保存されない
-
switch()文で値の大小比較
-
findstrのerrorlevel
-
小数点以下0の非表示
-
コマンドプロンプト フォルダ内...
-
syntax error, unexpected 'ech...
-
Windowsのsetコマンドでの小数...
-
ゼロとNULLを区別して number_f...
-
bashの関数の引数にスペースが...
-
オブジェクトの中身の判定(PHP)
-
バッチファイルで、全てのウィ...
-
XMLのタグの有無をPHPで判定し...
-
pdftkを使った処理をバッチファ...
-
DBのハッシュ化したパスワード...
-
hiddenを使っているのに、表が...
-
batファイルでドロップしたデー...
-
simplexmlでルート要素の値を取...
おすすめ情報