
直近のデータを3件表示するのに
$sql =" select * from テーブル order by フィールド(date型) desc limit 3" ;
だとうまくいくのですが
DATETIME形に変えるとうまくいかないのは、何か変な事してますでしょうか?
$sql =" select * from テーブル order by フィールド(datetime型) desc limit 3" ;
他の箇所は両方とも全く一緒です。
データは入れてあります。
宜しくお願いいたします。
全文は書けなかったので
<?php
require_once("dbini.php");
$con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD);
$selectdb = mysql_select_db($DBNAME, $con);
$sql =" select * from mem order by rupdate desc limit 3" ;
$rst = mysql_query($sql, $con);
$recmax = mysql_num_rows($rst);
$body = "<B>$recmax 件のデータがみつかりました。</B>";
$body .= "<TABLE border='1' cellpadding='2' cellspacing='0'>
<TR>
<TH bgcolor='#00CCCC'>会員ID</TH>
<TH bgcolor='#00CCCC'>会員名</TH>
<TH bgcolor='#00CCCC'>性別</TH>
<TH bgcolor='#00CCCC'>ジャンル</TH>
<TR>\n";
while($col = mysql_fetch_array($rst)) {
$body .= "<TR>\n";
$body .= "<TD>" . $col["id"] . "</TD>\n";
$body .= "<TD>" . $col["name"] . "</TD>\n";
$body .= "<TD>" . $col"seibetu"] . "</TD>\n";
$body .= "<TD>" . $col["cate"] . "</TD>\n";
$body .= "</TR>\n";
}
$body .= "</TABLE>\n";
mysql_free_result($rst);
$con = mysql_close($con);
?>
以下 <?= $body ?> を貼り付けています
No.4ベストアンサー
- 回答日時:
フィールド名については特に問題はないと思いますが
まぁ一般的な予約語は避けておいた方が無難です。
一応、厳密に守る必要はないのですが、テーブル名や
フィールド名は``で囲む、データは''でかこむ。
SQLの文字は大文字でかく。文末には;か\gをつける。
・・・という癖をつけておくと見やすいソースに
なります。
初心者の方には是非実践していただきたいところです。
たとえば、以下の感じ
select * from mem order by rupdate desc limit 3
↓
SELECT * FROM `mem` ORDER BY `rupdate` DESC LIMIT 3;
重ね重ねありがとうございます。
少しずつですが、yambejp 様の回答を頂いているうちに
そのようなルールがわかって来たような気がします。
**参考書には記述がまちまちなので。。
**そのようなルールがわかってないばかりに、余計遠回りしているような気がします。
本当にいつもありがとうございます。
No.3
- 回答日時:
なんらかの記述ミスで、sqlの戻り値がなく
配列にならないのでwhileで廻せないという
エラーでしょうね。
フィールドがdatetimeだからというわけではなく、
どこかしら記述に問題があると思いますので
dateの時に問題がなかったのであれば、
そのソースとよく見比べながらリトライしてみて
ください
お世話かけました。。。
フィールド名をupdate から reg_date へ変更したら
ちゃんと表示するようになりました。
使ってはいけないフィールド名なのでしょうか?
とにかくチャンと表示するようになりました
ありがとうございました。
No.1
- 回答日時:
うまくいかないとはどのような状態なのでしょうか?
普通にやれば普通にソートされるとおもいます。
どのようなデータだと、どう表示されるなど
具体的な質問をなさると有効な回答が得られるかも
しれません。
この回答への補足
いつもお世話になっています。
更新日の新しい順にデータを並べようとしています、
date型 だと同じ日の扱いがどうなるのか分からないので
datetime型 へ変更しようとしてうまくいきません。
date (フィールド名 regdate)で並び替えるよりも、datetime で並び替えた方がいいかと思い
別にフィールドを作り、型をdatetime フィールド名をupdate にしました。
そこで単純に regdate を update に変えたら以下のようなエラーが帰ってきます
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /virtual/wave/public_html/m/test--catelist.php on line 21
21行目は
while($col = mysql_fetch_array($rst)) {
です
"探したけど、データがありませんよ" と言うことなのでしょうか?
宜しくお願いいたします。
****datetime フィールドには10個ほどデータを入れています***
お探しの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
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
- HTML・CSS 自身のHPにYouTube動画を貼り付けるのが出来なくなり困ってます 1 2022/11/11 10:44
- PHP PHP MySql ページング 2 2022/09/20 06:38
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- PostgreSQL SQLで検索結果の記事を表示したい 1 2022/04/28 21:03
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- PHP php my adminより取り出したデータ表示 2 2022/06/15 11:56
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DB(MySQL)から複数行のデータを...
-
会員登録したらメールが送られ...
-
CSVをダウンロードさせた際、CS...
-
「日付条件」のDELETEで...
-
PHPから、MySQL内に日本語名の...
-
PHP+mysqlでSQL文に文字数制限...
-
PHP+MySQLの構造
-
PHPからMySQL・異なるDBにコピー
-
MySQL, PHP をインストール後、...
-
PHPについて。
-
MySQLのデータを使ってプルダウ...
-
テーブルのレコード数を取得し...
-
XAMMPが起動しません。
-
値が「1」のカラム名を求めたい。
-
期待した値がMySQLから返ってこ...
-
pearのdisconnect()が使えない。
-
文字列に対してPHP上で一括置き...
-
クエリObjectをforeachで回す時...
-
mysql+php 日付別料金データで...
-
PHPからSQLite3のUPDATEができ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPから、MySQL内に日本語名の...
-
stringaddslashes 半角¥が消える
-
ボタンのonclick時における関数...
-
phpのエラーについてです
-
sqlから多次元配列に要素を格納...
-
期待した値がMySQLから返ってこ...
-
mysql_fetch_rowが 1 を返すこ...
-
Resource id #3 をフィールドの...
-
XAMPPで画面が真っ白になります。
-
エラーの意味と対策
-
インクルードによる不具合
-
PHP+mysqlでSQL文に文字数制限...
-
mysql_resultのエラー
-
PHPのSQLインジェクションはspr...
-
【添削願】クエリ文、エラーが...
-
PHP-mysql フィールドの値を取得
-
CSVをダウンロードさせた際、CS...
-
テーブルに入っているデータと...
-
DB(MySQL)から複数行のデータを...
-
PHPで絞り込み検索結果の件数を...
おすすめ情報