
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Dosブロンプトでtabを出力したい
-
ウイルスもどき
-
オブジェクトの中身の判定(PHP)
-
データベースから出力したデー...
-
php修正について
-
文字列から期間算出 09-12 12-12
-
4桁の乱数の発生
-
echoとprintの使い分け
-
switch文の中でforeach
-
syntax error, unexpected 'ech...
-
checkboxでの複数選択削除がわ...
-
VBScriptでのWEBページのソース...
-
VB.NETでボリュームを取得・設...
-
PHPでの画像の形式の変換
-
電話番号のフォーマットについて
-
WordでExcelデータを差込...
-
昨日の日付を取得するVBscript
-
wordの差し込み印刷で文字...
-
管理者としてログイン
-
【C#】DataGridViewの最大列数...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Dosブロンプトでtabを出力したい
-
shシェルスクリプト 空白行の...
-
バッチファイルで、全てのウィ...
-
findstrのerrorlevel
-
バッチファイルでpingの結果を...
-
switch()文で値の大小比較
-
syntax error, unexpected 'ech...
-
phpでcookieがうまく保存されない
-
小数点以下0の非表示
-
pdftkを使った処理をバッチファ...
-
Windowsのsetコマンドでの小数...
-
ifの条件(不等号)を動的に埋...
-
ゼロとNULLを区別して number_f...
-
PHPで訪問回数を表示するカウン...
-
bashの関数の引数にスペースが...
-
DBのハッシュ化したパスワード...
-
PHPで$_GET[’m’]の意味が分か...
-
WindowsのイベントログをExcel...
-
コマンドプロンプト フォルダ内...
-
php mysql SELECT文でテーブル...
おすすめ情報