
現在PHPでmySQLのデータを操作し、出力を行うプログラムの勉強をしています。
データベース名:animal、テーブル名:pet、フィールド名が順にID:title:category:url:scoreで
1:ねこ:cat:neko.com:43
2:いぬ:dog:空白:24
3:ねこ:cat:nyan.com:53
4:空白:dog:空白:空白
5:とり:bird:bird.com:62
6:ねこ:cat:cat.com:81
:
という感じのデータがあります。
このとき、categoryが"cat"のものだけをscoreの大きい順に1ページに10件ずつhtmlに列挙したいです。
しかし、SQLのデータから条件にマッチする方法のみを抜き出す、条件に従ってデータを並べるphpの書き方がわかりません。
http://oshiete.goo.ne.jp/qa/6490368.html
ここで質問したときに頂いたコードを基に、自分なりにPHPの機能の拡張を練習していました。
これができると、指定した複数の条件でデータをソートするという、基本的なデータベースと連携を取るPHPが作成できるのでぜひとも習得したいです。
また、ページングの機能と合わせることで、PHPとデータベースを使って行う半分以上の処理ができるようになるはずです。
手元のPHPの参考書には、SQLにアクセスして、中に書いてあるデータを抜き出す方法は書かれているのですが、具体的にSQLを条件付きで抽出する方法が書かれていません。
自分で調べつつ、ネット上のコードを基にここ3日がんばったのですが、どうにも一人ではうまくいきませんでした。
どなたかこのような動作を行う、PHPコードの模範回答を教えてはいただけないでしょうか。
どうかご教示ください。よろしくお願いします。
No.1ベストアンサー
- 回答日時:
$query = "select * from animal ";
$query.= "where category='cat' "; // categoryが"cat"のものだけを
$query.= "order by score DESC "; // scoreの大きい順に
$query.= "limit 10 "; // 1ページに10件
ただし、ページの処理はしてませんので、最後の limit句のあたりは 適宜 変更してください。( ̄(エ) ̄)
No.2
- 回答日時:
ステップに分けて考える必要があります。
(1) MySQLのテーブルからデータを取り出してPHPの変数に格納する。
(2) 変数に格納された情報を10件ずつHTML化する。・・・・・PHPプログラムの書き方の話
(1) をさらに分けると、
(1-1) MySQLでどういう処理をするかのSQL文の記述をする。・・・・・MySQL命令の書き方の話
(1-2) SQL文をMySQLに与えて処理の結果を受けとる。・・・・・PHPプログラムの書き方の話
(1-1) はPHPの話ではなくMySQLの話なのでMySQLのマニュアルや解説を調べる必要があります。PHPの解説書では、(1-2)のやり方が書いてある訳なので、そこにあるSQLはあくまでサンプル的なものです。実際には、PHPだけでなくMySQLを勉強してSQLの書き方を学ぶ必要があります。PHPの参考書だけでは駄目です。
具体的にはNo1の方の回答のようなSQL文を書きます。
ご回答ありがとうございます。
1-2のやり方は分かっているのですが、1-1のやり方がわからなかったので質問させていただいた次第です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- PHP PHP ページング データベース 1 2022/06/16 10:30
- その他(プログラミング・Web制作) python コードについて(初学者です) 3 2023/07/20 14:44
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PostgreSQL 画像とカテゴリーを出力したいのですが、取得の条件を付ける方法がわかりません。 2 2022/05/01 18:03
- PHP php my adminより取り出したデータ表示 2 2022/06/15 11:56
- MySQL MySQL,JavaScript,PHPコードの結果を表示する方法を教えてください。 1 2023/02/13 17:49
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
- PHP コメント機能に返信欄を矢印で追加したい 1 2022/05/09 21:17
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
登録したデータを県別に並び替...
-
Accessへ日付をINSERT
-
PHP while~mysqli_fetch_assoc
-
PHPでmySQLのデータベースを操...
-
DB Error: no such field
-
カラムにデータがあるかないか...
-
access → Oracleへのデータ移...
-
phpにて出欠登録管理を作成して...
-
PHPでフォームからデータDBに書...
-
MySQLでデータベースにデータin...
-
PEAR MDB2 のsetFetchModeが設...
-
codeigniter 複数モデルでトラ...
-
PHPとMysqlによる正規表現について
-
mysql_fetch_assoc()の非推奨
-
チェックボックスによる複数の...
-
dbに登録したデータをphpのプル...
-
実行時エラー3131 FROM 句の構...
-
C#でDBの特定列をUpdate
-
DBへのinsert後のid(auto_incr...
-
<VB.NET>INSERT文でDBにデータ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MySQLでデータベースにデータin...
-
csvをDBへ読み込んだら、NULLが...
-
OracleからAccessへのインポート
-
ヒアドキュメントでSQLを書く事...
-
変数にNULLを代入したい
-
日またぎの計算
-
DB Error: no such field
-
会員番号等に利用するダブらな...
-
SQLのUPDATE文につい...
-
出勤表の作り方
-
php sqlite count 列数取得
-
phpでテーブルを作る際変数によ...
-
カラムにデータがあるかないか...
-
phpにて出欠登録管理を作成して...
-
PHP PDOを利用してカラムの削除...
-
検索結果が多い時の分割(件数...
-
cakePHPのbakeでモデルを作る
-
エクセルをMysqlに格納
-
phpを使用し、カテゴリー別に表...
-
重複データをカウントするのに...
おすすめ情報