こんばんは。PHP・mysql共に初心者の者です。どなたかお知恵をお貸しください。以下に環境を記します。
Windows2000/sp5 Apache/2.0.55 PHP/5.0.5 MySQL 5.0
簡単な名簿のデータ(ID・名前・年齢・生年月日・住所・電話番号)をMysqlから取り出してブラウザで表示させるだけなんですが、全て表示させるまでは成功しました。
この表示をID・名前・年齢だけにして、各レコードの左端にチェックボックスを配置し、1件または複数件チェックを入れて「詳細を表示」ボタンをおすと、チェックを入れた人のID・名前・年齢・生年月日・住所・電話番号が表示されるようにしたいのです。
while文の中にチェックボックスを組み込んだり、色々と試行錯誤しましたがダメでした。
まったく勉強不足で申し訳ないのですが、どなたか具体的なソースをご教授ください。よろしくお願いします。
以下に、全てのデータ表示のためのソースをさらします。
<?php
$dbserver = "localhost";
$dbuser = "root";
$dbpassword = "";
$dbname = "meibo";
$con = mysql_connect($dbserver,$dbuser,$dbpassword);
mysql_query("set names sjis");
$selectdb = mysql_select_db($dbname);
$sql = "select
id,
name,
age,
bday,
address,
tel,
curdate(),
(year(curdate())-year(bday))
- (right(curdate(),5)<right(bday,5))
as age
from meibo_1";
$rst = mysql_query($sql);
$body = mysql_num_rows($rst) . "件のデータがあります。. <br><br>";
$body .= "<table border='1'>
<tr>
<th NOWRAP>ID</th>
<th NOWRAP>氏名</th>
<th NOWRAP>年齢</th>
<th NOWRAP>生年月日</th>
<th NOWRAP>住所</th>
<th NOWRAP>電話番号</th>
</tr>";
while ($col = mysql_fetch_array($rst)) {
$body .= "<nobr><tr>" .
"<td NOWRAP>$col[id]</td>" .
"<td NOWRAP>$col[name]</td>" .
"<td NOWRAP>$col[age]</td>" .
"<td NOWRAP>$col[bday]</td>" .
"<td NOWRAP>$col[address]</td>" .
"<td NOWRAP>$col[tel]</td>" .
"</tr></nobr>";
}
$body .= "</table>";
mysql_free_result($rst);
$con = mysql_close($con);
?>
<!doctype html public "-//w3c//dtd html 4.01 transitional//en">
<html>
<head>
</head>
<body>
<?=$body?>
</body>
</html>
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
おっと・・・
eof;
<html>
を
eof;
?>
<html>
としてください。
phpを閉じるのを忘れてました
yambejp さま
ありがとうございます。試行錯誤の末、やっとラジオボタンが出現しました。
と、ここで新たな問題が出てきまして、ヘッダ部と表示部を別々に<table>タグで囲んであるせいか、セルの大きさの整合性が取れなくなりました。
表示部では、データの文字列の長さによってそれぞれのセルの大きさが違っている状態です。何か良いアイデアはないものでしょうか?
長くなりますのでwhile文からのソースを晒します。
while ($col = mysql_fetch_array($rst)) {
$body .=<<<eof
<table>
<tr>
<td NOWRAP><input type="checkbox" name="chk[]" value="{$col["id2"]}"></td>
<td NOWRAP>{$col["id"]}</td>
<td NOWRAP><a href='/meibo_view.php?id={$col["id"]}'>$col[name]</a></td>
<td NOWRAP>{$col["age"]}</td>
</tr>
</table>
eof;
}
$body = <<<eof
<table>
<tr>
<th NOWRAP>詳細</th>
<th NOWRAP>ID</th>
<th NOWRAP>氏名</th>
<th NOWRAP>年齢</th>
</tr>
{$body}
</table>
eof;
mysql_free_result($rst);
$con = mysql_close($con);
?>
No.1
- 回答日時:
チェックボックスで配列(っぽく)で受けるとデータの取扱いが
楽になります。実際の運用上はエスケープしたりなんだりが
必要ですが・・・
<?php
while ($col = mysql_fetch_array($rst)) {
$body .=<<<eof
<tr>
<td NOWRAP><input type="checkbox" name="chk[]" value="{$col["id"]}"}></td>
<td NOWRAP>{$col["id"]}</td>
<td NOWRAP>{$col["name"]}</td>
<td NOWRAP>{$col["age"]}</td>
<td NOWRAP>{$col["bday"]}</td>
<td NOWRAP>{$col["address"]}</td>
<td NOWRAP>{$col["tel"]}</td>
</tr>
eof;
}
$body = <<<eof
<table border='1'>
<tr>
<th NOWRAP>チェック</th>
<th NOWRAP>ID</th>
<th NOWRAP>氏名</th>
<th NOWRAP>年齢</th>
<th NOWRAP>生年月日</th>
<th NOWRAP>住所</th>
<th NOWRAP>電話番号</th>
</tr>
{$body}
</table>
eof;
<html>
<head>
</head>
<body>
<form>
<?php
print $body;
?>
<input type="submit" value="詳細">
</form>
</body>
</html>
この回答への補足
ご回答ありがとうございます。
ひとつ不明な点があるのですが、
<td NOWRAP><input type="checkbox" name="chk[]" value="{$col["id"]}"}></td>
の中の value="{$col["id"]}"} は value="{$col["id"]}"ではないでしょうか。
これを直してリロードしたのですが、下から12行目の<html>に
Parse error: parse error, unexpected '<' が出ます。
実際のソースを回答へのお礼にさらしますので、宜しくお願いいたします。
<?php
$dbserver= "localhost";
$dbuser= "root";
$dbpassword= "";
$dbname= "meibo";
$con = mysql_connect($dbserver,$dbuser,$dbpassword);
mysql_query("set names sjis");
$selectdb = mysql_select_db($dbname);
$sql = "select
id,
name,
curdate(),
(year(curdate())-year(bday))
- (right(curdate(),5)<right(bday,5))
as age
order by age,
from meibo_1";
$rst = mysql_query($sql);
$body = mysql_num_rows($rst) . "件のデータがあります。. <br><br>";
while ($col = mysql_fetch_array($rst)) {
$body .=<<<eof
<table>
<tr>
<td NOWRAP><input type="checkbox" name="chk[]" value="{$col["id"]}"></td>
<td NOWRAP>{$col["id"]}</td>
<td NOWRAP>{$col["name"]}</td>
<td NOWRAP>{$col["age"]}</td>
</tr>
</table>
eof;
}
$body = <<<eof
<table>
<tr>
<th NOWRAP>詳細</th>
<th NOWRAP>ID</th>
<th NOWRAP>氏名</th>
<th NOWRAP>年齢</th>
</tr>
{$body}
</table>
eof;
<html>
<head>
<STYLE type="text/css">
TH {
color: #ffffff; /* 文字の色 */
background-color: #666699; /* 背景の色 */
border-style: solid; /* 枠の種類 */
border-color: #9999cc #333366 #333366 #9999cc; /* 枠の色 */
border-width: 5px; /* 枠の幅 */
}
TD {
color: #ffffff; /* 文字の色 */
background-color: #9999cc; /* 背景の色 */
border-style: solid; /* 枠の種類 */
border-color: #ccccff #666699 #666699 #ccccff; /* 枠の色 */
border-width: 5px; /* 枠の幅 */
}
</STYLE>
</head>
<body>
<form>
<?php
print $body;
?>
<input type="submit" value="詳細">
</form>
</body>
</html>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- HTML・CSS 自身のHPにYouTube動画を貼り付けるのが出来なくなり困ってます 1 2022/11/11 10:44
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
- JavaScript jQueryで同じクラス名のものを別物として扱いたい 1 2022/06/17 14:14
- PHP PHP & MySQL: Server-side Web Development ペーパ 1 2022/04/19 19:23
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SELECT結果から動的にコンボボ...
-
mysqlから取得した配列をカンマ...
-
PHPとSmartyを使い、データベー...
-
php テーブルが作成できない
-
DBで検索結果に該当するデータ...
-
VBA処理追加 こちらでご教示頂...
-
実行時エラー3131 FROM 句の構...
-
MySQLでデータベースにデータin...
-
<VB.NET>INSERT文でDBにデータ...
-
csvをDBへ読み込んだら、NULLが...
-
JAVA SQLServerException 列名 ...
-
ASPでRecordCountが使用でき...
-
Pro*Cの構文エラー
-
PHPでmySQLに画像を保存する方...
-
php テーブルを作れない
-
データベースに存在するデータ...
-
php postgres Insert と updat...
-
VBAをつかってクエリの情報を抽...
-
ExcelVBAでAccessのデータを検...
-
insert1つの処理でもトランザ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPで[]の使い方について
-
DBで検索結果に該当するデータ...
-
checkboxクリック時、SQLを実行...
-
phpでmysqlを使ってデータベー...
-
dbに登録したデータをphpのプル...
-
SELECT結果から動的にコンボボ...
-
アラートでyes noを作りたいです。
-
smartyでMySQLから連想配列取り...
-
SQLiteのhtml表示
-
PHP と MySQL でテーブルの行数...
-
MYSQL、PHP. データが入ってい...
-
[PHP+MySQL] データをランダム...
-
PHPでMySQLデータを呼び出し、w...
-
PHPについてなのですが未定義の...
-
チェックボックスによる複数の...
-
PHPでMY SQLの連想配列をリンク...
-
PHPとSmartyを使い、データベー...
-
SQL+PHP,セレクト文、シンプルw...
-
チェックボックスでチェックし...
-
文字化けが解決できません。お...
おすすめ情報