2016-05-02 7 views
1

私はdiv(データベースからのインポート)を表示しようとしています - 現在の時間は0になりますか?ここでは、コードです:変数(時間)が0のときにdivを表示

while ($row = mysqli_fetch_array($result)) { 
    echo "<div class='alert' id='" . $row['id'] . "' style='display:none'><br><br><center><h2>"; 
    echo $row['title']; 
    echo "<br><br>"; 
    echo $row['category']; 
    echo "</h2><br><br><hr><br><br></center>"; 
    echo $row['description']; 
    echo "</div>"; 
    $timeFirst = strtotime($row['date']); 
    $timeSecond = strtotime("now"); 
    $differenceInSeconds = $timeFirst - $timeSecond; 
    if ($differenceInSeconds==0) 
    { 
     echo "<script>"; 
     echo "$(document).ready(function(){"; 
     echo "$('#". $row['id'] . "').show();"; 
     echo "$('#". $row['id'] . "').delay(15000);"; 
     echo "$('#". $row['id'] . "').hide();"; 
     echo "});"; 
     echo "</script>"; 
    } 
} 
+1

'$ differenceInSeconds = $ timeFirst - 時間();' – splash58

+0

が、私はあなたがこの – splash58

+0

のdivが表示せずに正常に見えます:) DIV見ることはないと思う:なしなど – twnt22

答えて

0

私はあなたがあなたのjavascriptのコードの代わりに、if ($differenceInSeconds==0) {} PHP側にsetTimeout()を追加したいと思います。

また、あなたは、以下の(事実上、素子を示す何を遅らせないし、すぐにそれを隠す)

$("#element").show(); 
$("#element").delay(15000); 
$("#element").hide(); 

$("#element").show().delay(15000).hide(0); 

へのフルコードからあなたのjQueryを書き直す必要があります。

while ($row = mysqli_fetch_array($result)) { 
    echo "<div class='alert' id='" . $row['id'] . "' style='display:none'><br><br><center><h2>"; 
    echo $row['title']; 
    echo "<br><br>"; 
    echo $row['category']; 
    echo "</h2><br><br><hr><br><br></center>"; 
    echo $row['description']; 
    echo "</div>"; 
    $timeFirst = strtotime($row['date']); 
    $timeSecond = strtotime("now"); 
    $differenceInSeconds = $timeFirst - $timeSecond; 

    // Adding a setTimeout so your JS code actually gets written and executes when it should. 
    if ($differenceInSeconds >= 0) { 
     echo "<script>"; 
     echo "$(document).ready(function(){"; 
     echo "window.setTimeout(function() {"; 
     echo "$('#". $row['id'] . "').show().delay(15000).hide(0);"; 
     echo "}, " . $differenceInSeconds * 1000 . ");"; 
     echo "});"; 
     echo "</script>"; 
    } 
} 
+0

まだ動作しません – twnt22

+0

今すぐお試しください。あなたは実際に表示されるべきコンテンツと比較できますか? JavaScriptエラー(私はそうは思わない)はありますか? HTMLソースをpastebinなどに投稿できますか?私は検査が必要だと思う。 – PinkTurtle

+0

変更後は作業しないでください。 Pastebinをこのファイルに貼り付けてください:http://pastebin.com/ujZuCKpT – twnt22

0

はそれを試してみてください -

<?php 
    while ($row = mysqli_fetch_array($result)) { 
     echo "<div class='alert' id='" . $row['id'] . "' style='display:none'><br><br><center><h2>"; 
     echo $row['title']; 
     echo "<br><br>"; 
     echo $row['category']; 
     echo "</h2><br><br><hr><br><br></center>"; 
     echo $row['description']; 
     echo "</div>"; 
     $timeFirst = strtotime($row['date']); 
     $timeSecond = strtotime("now"); 
     $differenceInSeconds = $timeFirst - $timeSecond; 

     if ($differenceInSeconds==0) 
     { ?> 
      <script> 
       $(document).ready(function(){ 
        $('#<?php echo $row['id'] ?>').show(); 
        $('#<?php echo $row['id'] ?>').delay(15000); 
        $('#<?php echo $row['id'] ?>').hide(); 
       }); 
      </script> 
     <?php } 
    } 
?> 
+3

「試してみてください」ではなく、この回答で行ったことの詳細を記入してください。 – hmd

+0

まだ動作しません – twnt22

関連する問題