1

これは、PHP / MySQLでのリンクの表示で説明したように、私のPHP /MySQLクエリです。:

http://pastebin.com/5Td9Bybn

確かに、この形式で上映時間を表示したいので、strtotime()関数を効果的に使用する方法を忘れてしまいました。

06:00

10:00

(最後に:00がない場合、例:10:00:00)

コードは今このエラーを表示します:

解析エラー:構文エラー、11行目のC:\ www \ vhosts \ localradio\schedsun.phpの予期しないT_ECHO

前の質問のエラーを修正しました。時間を次のように表示したい場合、これをどのように適応させることができますか。

6:00

06:00

午前6時

(テストのために、Pastebinのコードのパラメーター内で)。

私は基本的に、PHPの他の部分で独自の復習コースを行っているので、配列などの学習に長い時間を費やしてきたので、単純に質問しています。

最後に、変数として必要かどうか、または$ result_arは必要ありませんか?

最後の質問にご協力いただきありがとうございます。

4

4 に答える 4

3

MySQLで直接実行できます。これにより、strtotime()の解析オーバーヘッドのオーバーヘッドが節約され、strtotimeがときどき間違って推測する可能性があるため、正しい結果が生成されることが保証されます。

SELECT DATE_FORMAT(yourdatefield, '%h:%i') ...
于 2011-07-15T21:54:28.213 に答える
3

PHP関数strtotime()の使用法は次のとおりです。

int strtotime ( string $time [, int $now ] )

これは、時刻の文字列値を渡し、オプションで現在の時刻の値(UNIXタイムスタンプ)を渡すことを意味します。返される値は、UNIXタイムスタンプである整数です。

この使用例は次のとおりです。strtotime()に渡される日付は、データベースクエリなどからの日付である可能性があります。

$ts = strtotime('2007-12-21');

これにより、値1198148400が$ ts変数に返されます。これは、2007年12月21日の日付のUNIXタイムスタンプです。これは、次のようにdate()関数を使用して確認できます。

echo date('Y-m-d', 1198148400);
// echos 2007-12-21

strtotime()は、実際の日付と、「来週」、「次の火曜日」、「先週の木曜日」、「2週間前」などの文字列を使用して、さまざまな文字列を解析し、適切なタイムスタンプに変換できます。の上。ここではいくつかの例を示します。

$ts = strtotime('21 december 2007');
echo $ts, '<br />';
echo date('Y-m-d', $ts), '<br />';

これにより、次のように表示されます。

1198148400 2007-12-21

今日が12月21日の場合、次のようになります。

$ts = strtotime('next week');
echo $ts, '<br />';
echo date('Y-m-d', $ts), '<br />';

$ts = strtotime('next tuesday');
echo $ts, '<br />';
echo date('Y-m-d', $ts), '<br />';

$ts = strtotime('last thursday');
echo $ts, '<br />';
echo date('Y-m-d', $ts), '<br />';

$ts = strtotime('2 weeks ago');
echo $ts, '<br />';
echo date('Y-m-d', $ts), '<br />';

$ts = strtotime('+ 1 month');
echo $ts, '<br />';
echo date('Y-m-d', $ts), '<br />';

次のように表示されます。

1199006542
2007-12-30
1198494000
2007-12-25
1198062000
2007-12-20
1197192142
2007-12-09
1201080142
2008-01-23
于 2011-07-15T21:59:37.700 に答える
1

オプション1

strtotime()タイムスタンプが表示されます。この関数を使用して、date()時刻や日付の表示をフォーマットします。

06:00

<?php echo date('H:i', strtotime($result_ar['airtime'])); ?>

6:00

<?php echo date('g:ia', strtotime($result_ar['airtime'])); ?>

午前6時

<?php echo date('ga', strtotime($result_ar['airtime'])); ?>

date()php.netでそのフォーマットについて読んでください。


オプション2

@Marc Bが示唆するように、MySQLでそれを行います。

この行を変更します

$result = mysql_query("SELECT * FROM presenters1;", $connection) or die("error querying database");

$result = mysql_query("SELECT *, TIME_FORMAT(airtime, '%h:%i') `airtime` FROM presenters1;", $connection) or die("error querying database");

次に、次の行を変更します。

<div class="time"><? php echo strotime ('H') $result_ar['airtime']; ?></div>

<div class="time"><?php echo $result_ar['airtime']; ?></div>
于 2011-07-15T21:56:16.403 に答える
0

<?と単語phpの間にスペースがあります。それが予期しないエコーエラーの原因だと思います。あなたが持っている必要があります<?php

于 2011-07-15T21:57:38.603 に答える