
初歩的なことかもしれません。
御助言頂きたいと思いご質問させて頂きます。
ポイントサイトを構築している途中で会員さんのポイント獲得ランキングを昇降順にDBより抽出しようと試みましたが無理でした。
こちらのソースからの後の記述が分かりません。
SELECT * FROM $k_user_table order by point DESC
結局分からぬまま最終的に以下の様にすることが精一杯でした。
----------------------
<?php
$point_count = $DB->getone("SELECT * FROM $k_user_table order by point DESC");
print $point_count;
?>
----------------------
この形でもやはり1件の獲得ポイントのみが出たり或いは一桁のちょっと訳が分からない数字が出たりします。
ポイントの高い順に10位まで表示したいと思っております。
テーブル名はこちらSELECT * FROM $k_user_table order by point DESCで間違いないはずなんですけどDBへの接続等その後のWHERE・=・<・>・等の記述方法の(~の場合~にする)の様な定義付けが分かりません。
先輩方の御助言頂けますでしょうか。
宜しく御願致します。
No.12ベストアンサー
- 回答日時:
あ、良かったー 私もPEARの勉強になりましたー
ポイントだけ表示なら
<?
$test = $DB->getAll("SELECT point FROM ".$k_user_table." order by point DESC LIMIT 0,10 ");
print_r($test);
?>
SELECT のすぐ後が欲しいカラムで、「*」は全カラムってことなんです
idとnameとpointっていうカラムが欲しいなら
SELECT id,name,point
とすればOK。
配列はforとかforeachを使って全件(10件)とも表示するように
繰り返し構文の中に配置すれば宜しいかと思いますー
この回答への補足
名前とポイント出ました!
有り難う御座います。
ちょっと文字化けしちゃっているので文字コードも確認してみたいと思います。
foreach等の記述で配列を綺麗に出来るのですね^^
すごく助かりました。
ここからは自力で頑張りたいともいます!
(まずはforeachを検索してみます。。。ここからでも時間かかりそうです泣)
No.11
- 回答日時:
あ、さっきの男性のサンプルを書き換えてみたんです
PHPでやるなら…と私が書いたやつは全部忘れて削除しちゃって下さい!
良く読まないで口挟んじゃってスミマセン、ホント…
<?
$test = $DB->getAll("SELECT * FROM ".$k_user_table." order by point DESC LIMIT 0,10 ");
print_r($test); //コレ間違ってたので、こっちで。
?>
この回答への補足
とんでも御座いません。
色々と教えてくださり他の勉強にもなりました。
そのまま貼りましたら出ました!
でも会員情報情報すべて抽出されてしまいました。。。。
これに条件を付けてするとよいですか。
また、テーブルのように綺麗に整列する場合はまた違う記述が別に加わりますか。
多分原因わかった気がします。。。
テーブル「order by point DESC」の中にテーブルがもう一つあると言うか「order by point DESC」に何か加えないと全部抽出してしまっていると言う事は無いですか。。。
order by point DESCで抽出は出来るよとシステム側の人から言われたのでずっとこのまましてたんですけどもしかしたらと思っても見ました。
又はwher等の記述で[point]のみを抽出する様な指定は出来ますか。
No.10
- 回答日時:
連投しまくりでスミマセン
ちょっとPEAR勉強してきました
$test = $DB->getAll("SELECT * FROM ".$k_user_table." order by point DESC LIMIT 0,10 ");
print $test
これだとどうなんでしょう?
この回答への補足
色々有り難う御座います!
どこに記述したら良いですか。。。
<php
$sql = "SELECT * FROM テーブル名 order by point DESC LIMIT 0,10";
$result = mysql_query($sql,データベース);
while ($row = mysql_fetch_array ($result)) {
print $row[point];
}
?>
この中の同じ部分を入れ替えるのですか。。。
又は先程の男性の抽出ソースの部分の書き換えになりますか。。。
ちなみに先程のPHPからのSQLへ接続する記述は不要になりますか。
お時間御座いましたら宜しくお願致します。
No.8
- 回答日時:
PEARでもコネクトはしてるはずですよー
で、ちょっと調べてみたのですが
$result = mysql_query($sql,$DB);
これだとどうですかね?$DBがコネクトの変数っぽい
何か、遅々として進まぬで申し訳ないです…
No.7
- 回答日時:
$result = mysql_query($sql,データベース);
これの指定が間違ってるんじゃないですかねぇ
参考に、とさっき上げたサイトの「MySQL に接続する」の項目見ました?
データベースの名前を入れてもダメですよ
PHPでやるなら、手順をちゃんと踏まないとデータは取得出来ないです
有り難う御座います。
サイトは意見致しました。
色々複雑に考えてしまいます。
下の様な形式とは別に一からデータベースを取得する記述がPHPでする場合はしなければいけないのですね。。。
<TR bgcolor="#ccffff"><TD bgcolor=""><font color="" size="1"><font color="#000000" size="1">ちゃん</font><?php
$man = "男性";
$man = mb_convert_encoding($man,"EUC-JP","SJIS");
$man_count = $DB->getone("SELECT count(*) FROM $k_profile where sex='$man' ");
print $man_count;
?>名
サイトを見ても自分には何をどこにどの様に記載していいのかさえ分かりません。
データベースの部分にはローカルホスト・sqlへの接続パス等が入るのですか。
また、
<?php
$hostname = "localhost";
$uname = "USERNAME";
$upass = "PASSWORD";
$dbname = "DBNAME";
$tblname = "TABLENAME";
//MySQL に接続する。
if( !$res_dbcon = mysql_connect( $hostname, $uname, $upass) ){
print "MYSQL への接続に失敗しました。";
exit;
}
これを一つ一つ自分のサイトに合うようにしなければ接続はされないのですよね。。。
ここまで複雑だとは思いませんでした。
上記の男性を抽出しているような感じではやはり無理なのでしょうか。。。
同じ様な感じでテーブル名と条件を変えたらと思うのですけど実際頭では分かっていてもエラーの連続で20時間以上格闘しております。。。
No.6
- 回答日時:
getoneてPEARなんですね 使ったことないので何だかわからなかった
どうしてもPEAR使いたいなら私にはアドバイスはもう出来ないです
PHPでDBからデータ抽出とかしかやったことないので
だから私が今回みたいなことをするなら
$sql = "SELECT * FROM テーブル名 order by point DESC LIMIT 0,10";
$result = mysql_query($sql,データベース);
while ($row = mysql_fetch_array ($result)) {
print $row[point];
}
というような処理をするだろうと思います
名前も入れたいなら print $row[名前のカラム名];
とりあえずPHPで処理するなら一つ前のサイト、見てみて下さい
この回答への補足
度々申し訳御座いません。
PCからアクセス制限がある様なので無料スペースに出たエラーの写メを載せました。
http://04.mbsp.jp/drprmews-34243-l.php?guid=on
お世話になります。
自分はPEAR等も分かっていないです。。。
まもでPHPでもPEARでも出てくれたらそれで満足です。
作者の方がPEAR専門の様でこの$point_count = $DB->getone("SELECT * FROM $k_user_table order by point DESC");から取得できます。
と言われました。
これ以上は有料なので教えてくれませんでした。。。
教えてくださり有り難う御座います。
<php
$sql = "SELECT * FROM テーブル名 order by point DESC LIMIT 0,10";
$result = mysql_query($sql,データベース);
while ($row = mysql_fetch_array ($result)) {
print $row[point];
}
?>
上記テーブル名とデータベース名を入れ換えてしてみました。
そしたらエラーが出ました(泣)。
ちなみ言い忘れてたんですけど携帯専用のサイトです。
出たエラーはこちらになります。
No.5
- 回答日時:
>だからArrlyと言う文字がが出たんでしょうか。
。。どの段階での話かわかんないですけど、配列のデータが取れてる
ってことでしょうねぇ(配列をそのままprintしてもArrayしか出ません)
たまたま見つけたこのサイトは基本的な操作の勉強に良さそうなので
良かったら一回こちらで色々見てから試してみてはいかがでしょう
必要な関数名とかも出てるので、調べやすいと思います
参考URL:http://bg.pi-ppi.com/page/n01/index.html
No.4
- 回答日時:
SELECT * FROM $k_user_table order by point DESC
↑これにプラス「LIMIT」を使ったSQL文を作るのですよ
具体的な使い方は参考URLを参照下さい
MYsql 件数 制限 とかで調べたら、色んなサイト出てきますよ
参考URL:http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd …
この回答への補足
すみません。
<?php
$point_count = $DB->getone("SELECT * FROM ".$k_user_table." order by point DESC ");
print $point_count;
?>
「limit 0, 1」を付けてみました。
("SELECT * FROM ".$k_user_table." order by point DESC limit 0, 1");
でも出ませんでした。。。
limit 0, 1を囲む「"」等は必要ないですか。
また、これに名前も一緒に抽出したい場合はどこに名前の記述が必要になりますか。
色々申し訳御座いません。
こんにちは。
お世話になります。
SELECT * FROM $k_user_table order by point DESC);の下の列に書いておりました。。。
だからArrlyと言う文字がが出たんでしょうか。。。
出来そうな予感がしてきました。
すぐに試してみます。
サイトの方も教えてくださり有り難う御座います。
No.3
- 回答日時:
失礼な言い方ですが、もう少し基本を勉強しないと、プログラミングは無理でしょう。
質問以前の問題だと思います。Classは、オブジェクト指向での概念で、ファイルではありません。
getoneは、SELECTの結果の最初の行の最初のカラムを取得します。
具体的には、queryで実行して、繰り返しで1行ずつ持ってきて処理です。
たぶん、今の力ではこの説明もお分かりにならないと思いますが。
お世話になります。
>>具体的には、queryで実行して、繰り返しで1行ずつ持ってきて処理です。
これ自体も分かりません。。。
今回がSQLからの抽出は初めてです。
少しでも何かヒントから元に自分なりに試してみようと思っておりました。
仕組みが分かりなんとなく分かって来た気がします。
有り難う御座いました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PHP php my adminより取り出したデータ表示 2 2022/06/15 11:56
- PostgreSQL SQLで検索結果の記事を表示したい 1 2022/04/28 21:03
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- MySQL select *, `人口(男)`AND`人口(女)`/'面積' as '人口密度'FROM … 1 2023/07/03 21:05
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
- MySQL PhpMyAdminで作成して実行せよ。 東京23区を、皇居を中心とした4つのエリア(南東, 南西, 1 2023/06/11 11:58
- PostgreSQL 画像とカテゴリーを出力したいのですが、取得の条件を付ける方法がわかりません。 2 2022/05/01 18:03
- PHP PHP ページング データベース 1 2022/06/16 10:30
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
大変困っております。PHP ...
-
検索したときなにも無かった場合
-
ページ間の値の受け渡しについて
-
検索結果のテーブルの各カラム...
-
空だと思ったのに・・・
-
checkboxクリック時、SQLを実行...
-
データベース内容が表示されない
-
WHILE中で前と重複したら間引く...
-
ユーザー名、パスで認証して、...
-
チェックボックス検索システム
-
php ログインフォーム作成
-
アラートでyes noを作りたいです。
-
エクセルVBAについて
-
dbに登録したデータをphpのプル...
-
MysqlデータをJpgraphで表示で...
-
文字化けが解決できません。お...
-
PHP 10件表示 "前へ" "次へ"
-
python pandas 行ごとに列名(...
-
pg_queryの結果を2回とりだす...
-
mysqlから取得した配列をカンマ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アラートでyes noを作りたいです。
-
dbに登録したデータをphpのプル...
-
文字化けが解決できません。お...
-
VBA初心者です。
-
phpでmysqlを使ってデータベー...
-
DBで検索結果に該当するデータ...
-
smartyでMySQLから連想配列取り...
-
PHPのプルダウンメニューにDBの...
-
[PHP+MySQL] データをランダム...
-
sortable ギブアップです…助け...
-
mysqlから取得した配列をカンマ...
-
sortableを使用したデータのUPDATE
-
PHPでMySQLデータを呼び出し、w...
-
PHP+MySQLでの配列のinsert文に...
-
XML初心者です。
-
検索結果($_POST)が2ページ目...
-
smartyのforeachの使い方?
-
SELECT結果から動的にコンボボ...
-
pg_queryの結果を2回とりだす...
-
PEARのPagerの設定の仕方
おすすめ情報