0

データベースから時間を取得しています。エコーアウトすると動作しますが、while ループでは動作しません。ただし、他の変数は機能します...

コード:

$resultevent = mysql_query('SELECT  venue, date, TIME_FORMAT(startTime, "%h:%i %p") AS startTime2, TIME_FORMAT(endTime, "%h:%i %p") AS endTime2 FROM events"');
$rowevent = mysql_fetch_assoc($resultevent);

$date = new DateTime($originaldate);
$newdate = $date->format('m/d/Y');
$startTime2 = $rowevent['startTime'];
$endTime2 = $rowevent['endTime'];
$venue = $rowevent['venue'];

echo $startTime2; <============== WORKS HERE

while ($row = mysql_fetch_assoc($result)) { //the code for these queries is not shown
   echo 'getting here'; <======= WORKS
   echo $venue; <======= WORKS
   echo $startTime2; <======= DOESNT WORK
}
4

2 に答える 2

1

1.あなたのループでは、どこ$resultsから来たのですか?? 2. endTime を endTime2 に設定するのと同じように、クエリで startTime を startTime2 に設定します。そして明らかにそれはあなたの..でさえ機能しませんecho $venue..あなたは何もフェッチしないからです。

次のコードのようになります。

    $date = new DateTime($originaldate);
    $resultevent = mysql_query('SELECT  venue, date, TIME_FORMAT(startTime, "%h:%i %p") AS startTime2, TIME_FORMAT(endTime, "%h:%i %p") AS endTime2 FROM events"');

    while ($rowevent = mysql_fetch_assoc($resultevent)) { //now you fetch your query in $resultevent

       $newdate = $date->format('m/d/Y');
       $startTime2 = $rowevent['startTime2'];
       $endTime2 = $rowevent['endTime2'];
       $venue = $rowevent['venue'];

       echo 'getting here';
       echo $venue; 
       echo $startTime2;
    }
于 2013-10-08T02:50:52.947 に答える
1

クエリは、エイリアスを使用して時間列を返しています。行からそれらを読み取るには、エイリアスをインデックスとして使用する必要があります。

$startTime2 = $rowevent['startTime2'];
$endTime2 = $rowevent['endTime2'];
于 2013-10-08T02:35:13.350 に答える