0

データベースの列が1に設定されている場合、単一の日付を取得しようとしています

これが私の構造です:

CREATE TABLE IF NOT EXISTS `appointments` (
  `ID` int(255) NOT NULL DEFAULT '0',
  `Appointment` varchar(255) NOT NULL,
  `Date` date NOT NULL,
  `Location` text NOT NULL,
  `Reoccour` int(1) NOT NULL DEFAULT '0',
  `howfar` int(255) NOT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

そしてここに私のコードがあります:

$Query = mysql_query("SELECT * FROM appointments");

    while ($Rows = mysql_fetch_array($Query))
    {
        echo "Appointment: {$Rows['Appointment']} <br>";
        echo "Date: {$Rows['Date']} <br>";
        echo "location: {$Rows['Location']} <br>"; 
        if ($Rows['Reoccour'] === 1)
        {
            $NextDate = date('o-m-d', strtotime("+{$Rows['howfar']}"));
            echo "Next Date: {$NextDate}";
        }

    }

これは次の日付を追加して私のエコーにこれを示しているようには見えません。

私は何を間違っていますか?(使用することを除けばmysql_*、PDOでこのタスクを実行する方法がわかりません

4

3 に答える 3

1
$Query = mysql_query("SELECT * FROM appointments");

    while ($Rows = mysql_fetch_array($Query))
    {
        echo "Appointment: {$Rows['Appointment']} <br>";
        echo "Date: {$Rows['Date']} <br>";
        if ($Rows['Reoccour'] == 0)
        {   
        echo "location: {$Rows['Location']} <br><br>"; 
        }
        if ($Rows['Reoccour'] == 1)
        {
            $NextDate = date('o-m-d', strtotime("+{$Rows['howfar']} weeks"));
            echo "location: {$Rows['Location']} <br>"; 
            echo "Next Date: {$NextDate} <br><br>";
        }

    }

2つの問題があります。

1)あなたはあなたの同等者との厳密な比較を探していました、私はそれを==代わりに変更しました===

2)2番目の問題は、strtotime適切な使用法がweeksクエリへの追加になることでした。例:

echo date('o-m-d', strtotime("+3 weeks"));

したがって、正しい構文は次のようになります。 echo date('o-m-d', strtotime("+{$Rows['howfar']} weeks)); // Notice The Additions of "weeks"

于 2012-12-21T00:36:16.207 に答える
0

mysql_fetch_array文字列の配列を返します。チェック:

if ($Rows['Reoccour'] === 1){

がintと1の両方である場合にのみ合格します$Rows['Reoccour'](つまり"1" === 1、falseです。

intにキャストするか、を使用してみてください==

于 2012-12-21T00:16:32.197 に答える
0

ジムの答えは正しいです。ただし、PDOを使用したくない場合は、mysqli_の使用を真剣に検討する必要があります。mysql_は非推奨であり、いくつかのセキュリティ問題があります。ただし、mysqli_への切り替えはかなり簡単で、あらゆる種類の新機能が追加されます。

于 2012-12-21T00:22:26.707 に答える