MySQL+PHPで顧客情報のデータベースを作っているところで詰まってしまいました。下のようなテーブルがあります。
number name furi ・・・
-------------------------
1 北 kita
2 南 minami
3 東 higashi
4 西 nisi
このテーブルのリスト一部分を表示して
詳細ボタンを押すと顧客情報の詳細が表示
できるようにしたいのですが、どのように
すればいいかまったくわかりません。
一覧表示
名前 フリガナ
詳細 北 kita
詳細 南 minami
詳細 西 nisi
こんな感じで詳細を押すと、顧客情報の詳細が
表示されるようにしたいのですが。
一覧を表示させるPHPはこんなかんじで作りました。
//SQL文 tab1表から全行を取り出し、number列の昇順に整列する
$sql = "select * from addrmain order by number";
//SQL文を実行する
$rs = mysql_db_query($db,$sql);
//列数を取得する
$num = mysql_num_fields($rs);
//HTML文を出力 テーブルの開始を指定
print("<table border=1>");
//test表の列数と同じ回数を繰り返す
for ($i=0;$i<$num;$i++){
//HTML文を出力 列名を <td>で囲んで出力
print("<td>".mysql_field_name($rs,$i)."</td>");
}
//test表の行数と同じ回数を繰り返す
while($row=mysql_fetch_array($rs)){
//HTML文を出力 表の行の開始<tr> を出力
print("<tr>");
//test表の列数と同じ回数を繰り返す
for($j=0;$j<$num;$j++){
//HTML文を出力 列の内容を <td>で囲んで出力
print("<td>".$row[$j]."</td>");
}
//HTML文を出力 表の改行</tr> を出力
print("</tr>");
}
//HTML文を出力 テーブルの終了を指定
print("</table>");
なにをどのようにしたら良いかお知恵をお貸しください。お願いします。
No.1ベストアンサー
- 回答日時:
こんにちは。
表示項目としては名前とフリガナと詳細ボタンを表示して
一覧に表示するってことですよね。
<?php
$sql = "select number,name,furi from addrmain order by number";
$rs = mysql_db_query($sql);
?>
<table border="1">
<tr><td></td><td>名前</td><td>フリガナ</td></tr>
<?php
// 取得したデータの展開
while($rows=mysql_fetch_array($rs)) {
?>
<form action="detail.php" method="get">
<input type="hidden" name="number" value="<?= $rows['number'] ?>">
<tr>
<td><input type="submit" value="詳細"></td>
<td><?= $rows['name'] ?></td>
<td><?= $rows['furi'] ?></td>
</tr>
</form>
<?php
// End While
}
?>
</table>
すいません。見易さは考慮していないのでうまくソースは整理してください。
こんな風な形で取得した情報を一覧に表示でき、各詳細ボタンを押すと
detail.php?number=1という形でsubmitされるのでdetaile.phpで、
$number=$_GET['number'];
としてnumberを受け取り、
$sql = "select * from addrmain where number=$number";
というSQLを発行して内容を表示すれば詳細情報が表示されると思います。
(動作確認もしていません。ロジック的にはこんな感じになると思います)
詳細というのがボタンじゃなくテキストリンクにしたいとかでしたら
<a href="detail.php?number=<?= $rows['number'] ?>">詳細</a>
とかにすればよいと思います。
この回答への補足
さっそく実行してみましたが、
mysql_fetch_array(): supplied argument is not a valid MySQL result resource in
とエラーになってしまいました。
どうやら
<?php
// 取得したデータの展開
while($rows=mysql_fetch_array($rs)) {
?>
の部分でエラーになっているみたいです。
No.5
- 回答日時:
文末の;が抜けているからじゃないですか?
×$number = $_GET['number']
○$number = $_GET['number'];
この回答への補足
36行目;を追加でクリアできました。ありがとうございます。
ただここをクリアしたら違う行でエラーになりました。
<TR>
<TD height="16" class="hpb-cnt-tb-cell1" width="128">ふりがな</TD>
<TD height="16" class="hpb-cnt-tb-cell1" width="659"><?= ['furi'] ?></TD> <---ここです
</TR>
<TR>
検索した結果を表示させようとしたのですが・・。文法がまちがっているのでしょうか?
エラーはここです。
syntax error, unexpected '[' in
No.4
- 回答日時:
こんにちは。
No1です。すいません、もとの提示してあったソースコピーして
改変してそのまま載せたので気づきませんでした。
mysql_db_queryを使用するならNo3さんの回答通りの引数です。
mysql_queryと勘違いしててそのまま載せちゃいました。
すいません。
この回答への補足
すみませんありがとうございます。
detailのphpにnumberを送った後にエラーがでてしまいます。そのエラーの行がこれなのですが。
Parse error: syntax error, unexpected T_VARIABLE in addrdetail.php on line 36
その36行がこちらです。
$number = $_GET['number']
$sql = "select * from addrmain where number = $number";<======36行目です。
$rs = mysql_db_query($db,$sql)
いきずまってしまいました。質問ばっかりですみません。
No.3
- 回答日時:
いや、だから指定されてないと思うんですが・・・
× $rs = mysql_db_query($sql);
○ $rs = mysql_db_query($db,$sql);
No.2
- 回答日時:
$rs = mysql_db_query($sql);
でDB名を指定していないからじゃないでしょうか?
そもそもmysql_connectとかしてあります?
この回答への補足
<?php
//DBへ接続開始 サーバー名--localhost ユーザー名--root パスワード--root
$dbHandle = mysql_connect("localhost","root","");
//DBの接続に失敗した場合はエラー表示をおこない処理中断
if ($dbHandle == False) {
print ("can not connect db\n");
exit;
}
//db名 test
$db = "test";
$sql = "select number,furi,name from addrmain order by number";
$rs = mysql_query($sql);
?>
<table border="1">
<tr><td></td><td>名前</td><td>フリガナ</td></tr>
<?php
// 取得したデータの展開
while($rows = mysql_fetch_array($rs)) {
?>
<form action="detail.php" method="get">
<input type="hidden" name="number" value="<?= $rows['number'] ?>">
<tr>
<td><input type="submit" value="詳細"></td>
<td><?= $rows['name'] ?></td>
<td><?= $rows['furi'] ?></td>
</tr>
</form>
<?php
// End While
}
?>
</table>
こんな感じに作ってみたのですが、最初にDBは指定
しているのですが、どうでしょう?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- PHP PHP MySql ページング 2 2022/09/20 06:38
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
php データ削除
-
実行時エラー3131 FROM 句の構...
-
MySQLでデータベースにデータin...
-
VBAをつかってクエリの情報を抽...
-
Pro*Cの構文エラー
-
dbに登録したデータをphpのプル...
-
<VB.NET>INSERT文でDBにデータ...
-
ASPでRecordCountが使用でき...
-
SQL文が実行できません
-
VBA処理追加 こちらでご教示頂...
-
in 'where clause'のエラーの理由
-
PHP4でのSmarty派生クラスの定...
-
python pandas 行ごとに列名(...
-
「mysqlclient」の事が分からな...
-
OR検索を実装したい
-
XAMPPで画面が真っ白になります。
-
PHPでMySQLデータを呼び出し、w...
-
検索結果が多い時の分割(件数...
-
Accessのテーブルへ複数の主キ...
-
VBA ACCESS SQL...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
php テーブルを作れない
-
ACCESSのテーブルをHTMLファイ...
-
php データ削除
-
MySQLにHTMLタグを挿入したい
-
SQL1回で、平均と合計を両方出...
-
MySQLで0で検索できない
-
ファーストサーバのレンタルサ...
-
テーブルの最後のレコードしか...
-
MySQL+PHPでリストから詳細表示
-
GROUP_CONCATで条件指定
-
mysql - 出力を縦表示
-
PHP + MySQLを使用して詳細画面...
-
MySQLでデータベースにデータin...
-
実行時エラー3131 FROM 句の構...
-
VBAをつかってクエリの情報を抽...
-
JAVA SQLServerException 列名 ...
-
Q&Aサイトを作成していてURLの...
-
<VB.NET>INSERT文でDBにデータ...
-
テキストボックスに入れた内容...
-
SQL文が実行できません
おすすめ情報