以下「占いサイトを作ろう」をまねしてサイト作成中ですが、
項目3のところでつまずきました。
http://dcs-nagoya.com/php/170/
1、MySQL と2、html 作成まではできたのですが、
3、生年月日を受け取るrcv_post.phpを作成。がどうしてもできません。
ネットで調べてPHPスクリプトをつくって何度も試しましたが、
全く上手くいきません。MySQLのエラーが表示されます。
検索結果に 日を足して(60超ならマイナスする)計算まで設定したいのですが、
どなたかご教授お願い致します。
●1、2はサイトの記載どおり、ロリポップを使用
●PHPはバージョン5.2
No.3ベストアンサー
- 回答日時:
参考になればと思いますが。
。。SQLを以下のようにして、処理をしたらいかがでしょうか?
#ただし、フォームの日付を$dayに格納しておきます。
$res_result = mysql_query("SELECT (`$month` + $day) as result from animal where year = $year");
//問い合わせ結果を表示。
while($dat=mysql_fetch_array($res_result,MYSQL_ASSOC)){
$result = $dat["result"];
}
mysql_free_result($res_result);
ご質問の値の抽出ですが、
まず、SELECT文のところを少しいじって、欲しい値をresultというキーで取得するように
しています。( as result の部分ですね)
そして、問い合わせの結果を表示部分で、連想配列に入っている値を取得しています。
これで欲しい値が手に入ります。また、SELECT文の中で日付の加算もしています。
#$resultには、70の値が入っていると思います。
No.2
- 回答日時:
No.1です。
まず、エラーになっているのは、MySQLのエラーではなく、
PHPのスクリプトの文法エラーです。
21行目を確認してください。
#行末に「;」がないとか。。。
SQLですが
貼っていただいたURLの画像から推測すると
SELECT 月 FROM テーブル名 WHERE year = "選択された年"
例えば、2000年1月なら
SELECT 1 FROM テーブル名 WHERE year = "2000"
のようになると思います。
この回答への補足
苦戦すること数日、なんとかDB検索、表示することができました。
上記、SELECT の説明、とても役に立ちました。ありがとうございます!
まだ問題があるのですが、相談にのっていただけますか?
■抽出したデータを数字のみ表示(取得)したいのですが、以下のように表示されます。
(下の例の場合、"53" 以外は不要です)
------------------------------------------------------------------------------
※実際ブラウザに表示される内容→ array(1) { [0]=> string(2) "53" }
-----------------------------------------------------------------------------
※PHPで書いている文↓
$res_result = mysql_query("SELECT `$month` from animal where year = $year");
//問い合わせ結果を表示。
while( $row = mysql_fetch_array( $res_result, MYSQL_NUM ) ){
var_dump( $row );
-----------------------------------------------------------------------------
※$monthと$yearには、それぞれフォームで受け取った値を入れています。
■取得した後この数字を使って計算をします。
取得した数字(例"53")に日にち(例"17"※これもフォームで値を送信します)を足した数("70")にしてから表示したいのですが、どのような方法があるでしょうか?
完成まであと一歩です。
おかげさまで、作成するのが楽しくなってきました。
よろしくお願いします。
No.1
- 回答日時:
まず、MySQLのエラー文はどのようなものが出ているのですか?
MySQLにログインできていますか?
また、ログインできているのであれば、
スクリプトに書いてあるSQLが正しいか確認してください。
#phpAdmin等でSQLの確認はできると思います。
この回答への補足
ご丁寧なご指摘ありがとうございます。
●MySQLのエラー文は以下のものです。
Parse error: syntax error, unexpected T_VARIABLE in~on line 29
どう考えても、記入しているSQL文があやしいです。
■データベースの抽出(SQL文)記載方法がわかりません。
http://dcs-nagoya.com/php/170/
にあるように、年+月の条件で検索される数字を抽出したいのですが、
SELECT文でどのような指定をしたらいいのでしょうか?
実際のphpの文を教えていただけると助かります。
(表はこのサイトに記載があるものとまったく同じものです↓)
http://dcs-nagoya.com/wp-content/uploads/2009/10 …
■また、抽出した数字に日にちを足して計算する方法もわかりません。
「受け取った生年月日をもとにMySQLからSELEECT文を使い数字を抽出します。
その数字と日にちを足します。」の部分です。
全くの素人なのでいろいろお伺いしてすみません。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL MySQL,JavaScript,PHPコードの結果を表示する方法を教えてください。 1 2023/02/13 17:49
- MySQL mysqlがインストールされているのかわかりません 1 2023/06/05 02:26
- MySQL mysqlがインストールされているのかどうか 1 2023/06/05 14:19
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- MySQL 【投稿情報用データベース posts】は必要ないと思います。 1 2022/06/02 21:25
- PHP ログイン機の付きの掲示板サイトを作りたいです。 2 2022/10/09 04:33
- MySQL PHP 画像のアップロード Qiita 2 2022/11/28 04:44
- PHP 「基礎からのMySQL 第3版 Kindle版」を数年前購入して全部やりました。 1 2022/09/15 05:32
- 知的財産権 著作権違反 らしき記事が見当たりません!? 1 2022/05/24 01:54
- その他(SNS・コミュニケーションサービス) 書き込んだ場合、同サイトの同ページに出てこない? 1 2022/05/24 02:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
パースエラーとは?
-
PHPでネットワークドライブのop...
-
フォントの色を変えるには?
-
phpでクラスのメソッドで同名の...
-
トランザクションが原因?DBに...
-
php pear mdb2に質問です。
-
phpでPEAR::DBを使っているので...
-
PHP8を使うと、大量のWarningが...
-
ローカルでは正常に動くのにサ...
-
クラスの中でincludeするとき、...
-
fgetcsv_regについてのご質問
-
正規表現での最後尾のバックス...
-
awsにApacheとPHPを入れて、何...
-
PHPのHttpRequestモジュールに...
-
centOSにcakePHPを入れた際のエ...
-
Call to undefined method RDBM...
-
error_reporting(0);にも関わら...
-
日本語をGETで渡す場合UR...
-
ワードプレスサイト PHP8.0.25...
-
preg_replace() で、 urlencode()
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォントの色を変えるには?
-
PHP8を使うと、大量のWarningが...
-
awsにApacheとPHPを入れて、何...
-
phpでPEAR::DBを使っているので...
-
ワードプレスサイト PHP8.0.25...
-
パースエラーとは?
-
phpでクラスのメソッドで同名の...
-
PHPで、エラーがない場合のみ画...
-
トランザクションが原因?DBに...
-
「@$変数」の「@の意味は?」
-
PHPでfatal errorが出ても無視...
-
PHPで特定のURLにジャンプす...
-
正規表現での最後尾のバックス...
-
PHPでネットワークドライブのop...
-
bindValueエラー
-
error_reporting(0);にも関わら...
-
これは例外処理でしょうか?
-
ある条件に当てはまったときに...
-
php5.6でsimplexml_load_string...
-
PHPでSMTPを使ってメール送信で...
おすすめ情報