質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

1039閲覧

whereで指定した、検索条件のレコードを表示するには

big_D

総合スコア7

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2020/10/30 04:33

編集2020/10/30 04:37
<body> <table border='1'> <tr> <th>id</th> <th>医療機関</th> <th>住所</th> <th>電話番号</th> <th>都道府県</th> <th>診療科</th> <th>アプリ名</th> </tr> <?php $id=$_POST['id']; $hosp=$_POST['hosp']; $add=$_POST['add']; $phone=$_POST['phone']; $jpn=$_POST['jpn']; $dep=$_POST['dep']; $apps=$_POST['apps']; $query='select * from potal;';   ← ここを変える $dbconn = pg_connect("host=localhost dbname= user= password=") or die('Could not connect: ' . pg_last_error()); $result = pg_query($query) or die('Query failed: ' . pg_last_error()); while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) { echo "\t<tr>\n"; echo '<td>' . $line['id'] . '</td><td>' . $line['hosp'] . '</td><td>' . $line['add'] .'</td><td>' . $line['phone'] .'</td><td>' . $line['jpn'] . '</td><td>' . $line['dep'] .'</td><td>' . $line['apps'] .'</td><td>' . "</td>\n"; echo "\t</tr>\n"; } ?> </table> </body>

複数のオンライン診療サービスを一覧にした医療機関リストを作りたい

id医療機関住所都道府県診療科アプリ名
1●●病院〒●●●-●●●●北海道内科、皮膚科CLINICS
2●●病院〒●●●-●●●●青森県産婦人科、耳鼻咽喉科curon
3●●病院〒●●●-●●●●東京都小児科CLINICS

現在上記のようなテーブルをデータベース内で作成し、PHPを介して表示いるのですが、
次に、都道府県別やアプリ、診療科などに分けた表を作りたいです。

そこでwhere句で検索条件を指定し、
select * from potal; ↩
上記の所を指定すると表示できると思っていたのですが、
なかなか表示されずにエラーが起こってしまいます、、

助言いただけないでしょうか。

*試したこととして、
$query='select * from potal where jpn = '北海道';';

$query='select * from potal where jpn = "北海道";';

また、
$query='select * from potal where id = 1;';
とすると、テーブル内のid 1番がきちんと表示されました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2020/10/30 05:38

テーブル定義を提示してください。 potalなんてテーブル名、jpnなんてカラム名 どこにも定義が提示されていません。 CREATE TABLE文で提示してください。
guest

回答2

0

SQL

1$query='select * from potal where jpn = '北海道';'; 2 ↓ ↓ 3$query="select * from potal where jpn = '北海道';";

都道府県が jpn って列名は誤解を与えるだけでは?

同じSQLでもデータベースやそのバージョンによって方言が大きいですから、どのデータベースを使うのかを質問のタグで示したり、バージョンも明記した方が適切なコメントが付き易いです。

投稿2020/10/30 04:49

Orlofsky

総合スコア16417

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

都道府県やアプリ名が1レコードに1つまたは0個しか存在しないなら
都道府県=?とかアプリ名=?で検索してください
診療科については複数存在するのですから、診療科テーブルを別途作り
病院=診療科を紐付ける中間テーブルをつくる必要があります

投稿2020/10/30 04:39

yambejp

総合スコア116724

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yambejp

2020/10/30 05:07

都道府県や診療科の正規化については以前説明したような・・・
big_D

2020/10/30 06:50

都道府県以外に、診療科等を正規化するのは効率的ではないとおっしゃっていたので、 where句でレコードを指定する方が早いと思い実施してみました。 何度も教えて頂いてありがとうございます。
yambejp

2020/10/30 06:55

ごめんなさい、うまく伝わってないですね ・都道府県のように情報の変更が少ないものは正規化の効果がうすい ・診療科のように病院ごとに不特定のデータは正規化が必須 です
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問